首頁 > 軟體

Spring Boot Rest常用框架註解詳情簡介

2022-06-09 22:00:39

前言:

讓我們瞭解一下Spring Boot Rest框架註釋。它是如此簡單和快速。在本文中,我將嘗試解釋Spring Boot Rest API的不同註釋。這些註釋是Spring Boot中REST API所必需的。

開始Spring Boot Rest的先決條件

最需要了解的是Spring容器或IOC。除此之外,還必須具備Java註釋的基本知識。因為Spring Boot應用程式充滿了註釋。最後但並非最不重要的一點是,應該澄清REST的概念,至少是基本概念。例如GET、POST、PUT、DELETE和Request body和response、headers等。

在Spring Initializer建立Spring Boot專案

Spring Boot最棒的一點是它有一個web應用程式用於入門。只需點選幾個表單欄位和按鈕,就可以準備好初學者檔案。這包括pom。包含所有必需依賴項的xml。只需轉到Spring Initializer:https://start.spring.io/。如下面的螢幕截圖所示,填寫適當的資料。然後單擊右上角的新增依賴項按鈕。鍵入並選擇Web。我還將為log和Pojo新增Lombok。

完成後,只需單擊generate按鈕,就會下載一個包含這些檔案的zip檔案(pom.xml)。將其解壓縮並在IDE中開啟。我將使用IntelliJ IDEA。這個IDE幫助我利用各種功能提高工作效率。 

Spring Boot註解

整個Spring Boot都依賴於註釋。對於不同的需求和過程,有各種註釋。其餘部分有4-5個主要註釋。讓我們一個接一個地看它們,並將它們應用到我們的範例中。

@RestController

類上使用了@RestController註釋。它將類定義為Rest的控制器。這是一個RESTful版本的控制器,新增了ResponseBy的組合。這樣,您的響應就會自動轉換為JSON、XML或任何已定義的響應型別,而無需單獨使用ResponseBy註釋。

@RestController
public class ArticleRestController {}

其餘的註釋在@RestController類下使用。

@RequestMapping

用於將特定端點對映到函數或方法。這有助於定義端點的路徑、方法、響應型別、請求型別等。

@RequestMapping(value = "/articles", method = RequestMethod.GET,  produces = "application/json")
public List<Article> getArticles() { }

在上面的範例中,值表示它對映到的路徑。例如,localhost:8080/articles。方法型別是GET,它生成“application/json”作為響應(不過,這是預設值,您可以跳過它)。

@RequestParam

URL中的查詢引數,即?key=value&key1=value1@RequestParam註釋獲取。這用於函數的引數。它有各種選項,如requireddefaultValue等。然後將查詢引數載入到指定的引數中。

@RequestMapping(value = "/article", method = RequestMethod.GET)
public Article getArticleByName(
   @RequestParam(value = "articleName", required = true) String articleName
) {}

在上面的例子中,如果我們呼叫URL GET localhost/article?articleName=springboot,將在articleName引數中載入“springboot”。我已經把reuired=true,所以如果我們不傳遞articleName,它將向用戶丟擲一個錯誤。

@PathVariable

有沒有想過,在不傳遞查詢引數的情況下,伺服器如何知道要載入哪篇文章?看看這篇文章的網址 post URL不包含查詢引數,而是一個普通的斜槓分隔字串。伺服器在PathVariable的幫助下讀取它,它看起來是這樣的,/article/{articleslaug}。替換{articleSlug}的任何字串都將被視為PathVariable

@RequestMapping(value = "/article/{articleSlug}", method = RequestMethod.GET)
public Article getArticle(@PathVariable("articleSlug") String articleSlug) {}

請記住,{articleSlug}RequestMappingPathVariable中應該是相同的(沒有{})。如果不匹配,則無法載入。

@RequestBody

對於POST或PUT方法,您不會通過URL獲取所有資料,對嗎?這些方法有一個適當的請求主體。RequestBody註釋有助於將給定的請求正文自動對映到引數。主要是JSON到POJO。

@RequestMapping(value = "/article", method = RequestMethod.POST)
public Article createArticle(@RequestBody NewArticlePojo newArticle){}

請求主體將自動對映到NewArticlePojo類,並基於鍵填充欄位。

REST方法的特定註釋

在上面的解釋中,您一定已經看到我使用特定的方法編寫了RequestMapping。但這太多餘了。為了解決這個問題,Spring Boot提供了預定義的方法對映。這些只是@RequestMapping的擴充套件。

@GetMapping

@GetMapping用於將RequestMapping替換為method=RequestMethod。獲取引數。現在通過檢視,我們知道這是一個GET請求。

@PostMapping和@PutMapping

PostMapping是用method=RequestMethod替換RequestMapping。類似地,PutMapping將用method=RequestMethod替換RequestMethod.PUT

@DeleteMapping

DeleteMapping用method=RequestMethod替換RequestMethod.DELETE

到此這篇關於Spring Boot Rest常用框架註解詳情簡介的文章就介紹到這了,更多相關Spring Boot Rest解內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com