最需要了解的是Spring容器或IOC。除此之外,還必須具備Java註解的基本知識。因為Spring Boot應用程式充滿了註解。最後但並非最不重要的一點是,應該澄清REST的概念,至少是基本概念。例如GET、POST、PUT、DELETE和Request body和response、headers等。
Spring Boot最棒的一點是它有一個web應用程式用於入門。只需點擊幾個表單欄位和按鈕,就可以準備好初學者文件。這包括pom。包含所有必需依賴項的xml。只需前往Spring Initializer:https://start.spring.io/。如下面的螢幕截圖所示,填寫適當的數據。然後點擊右上角的新增依賴項按鈕。鍵入並選擇Web。我還將為log和Pojo新增Lombok。
完成後,只要點選generate按鈕,就會下載一個包含這些檔案的zip檔(pom.xml)。將其解壓縮並在IDE中開啟。我將使用IntelliJ IDEA。這個IDE幫助我利用各種功能來提高工作效率。 IDE常用插件
整個Spring Boot都依賴註解。對於不同的需求和過程,有各種註釋。其餘部分有4-5個主要註釋。讓我們一個接一個地看它們,並將它們應用到我們的範例中。
類別上使用了@RestController
註解。它將類別定義為Rest的控制器。這是一個RESTful版本的控制器,加入了ResponseBy
的組合。這樣,您的回應就會自動轉換為JSON、XML或任何已定義的回應類型,而無需單獨使用ResponseBy
註解。
@RestController public class ArticleRestController {}
其餘的註解在@RestController
類別下使用。
用於將特定端點對應到函數或方法。這有助於定義端點的路徑、方法、回應類型、請求類型等。
@RequestMapping(value = "/articles", method = RequestMethod.GET, produces = "application/json") public List<Article> getArticles() { }
在上面的範例中,值表示它對應到的路徑。例如,localhost:8080/articles。方法類型是GET,它產生“application/json
”作為回應(不過,這是預設值,您可以跳過它)。
URL中的查詢參數,即? key=value&key1=value1
由@RequestParam
註解取得。這用於函數的參數。它有各種選項,如required
、defaultValue
等。然後將查詢參數載入到指定的參數中。
@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
,它將向使用者拋出錯誤。
有沒有想過,在不傳遞查詢參數的情況下,伺服器如何知道要載入哪篇文章?看看這篇文章的網址 post URL不包含查詢參數,而是一個普通的斜線分隔字串。伺服器在PathVariable
的幫助下讀取它,它看起來是這樣的,/article/{articleslaug}
。任何替換{articleSlug}
的字串都會被視為PathVariable
。
@RequestMapping(value = "/article/{articleSlug}", method = RequestMethod.GET) public Article getArticle(@PathVariable("articleSlug") String articleSlug) {}
請記住,{articleSlug}
在RequestMapping
和PathVariable
中應該是相同的(沒有{}
)。如果不匹配,則無法載入。
對於POST或PUT方法,您不會透過URL取得所有數據,對嗎?這些方法有一個適當的請求主體。 RequestBody
註解有助於將給定的請求正文自動對應到參數。主要是JSON到POJO。
@RequestMapping(value = "/article", method = RequestMethod.POST) public Article createArticle(@RequestBody NewArticlePojo newArticle){}
請求主體將自動對應到NewArticlePojo
類,並基於鍵填充欄位。
在上面的解釋中,您一定已經看到我使用特定的方法編寫了RequestMapping
。但這太餘了。為了解決這個問題,Spring Boot提供了預先定義的方法對應。這些只是@RequestMapping
的擴充。
@GetMapping
用於將RequestMapping
替換為method=RequestMethod
。獲取參數。現在透過查看,我們知道這是一個GET請求。
PostMapping
是用method=RequestMethod
取代RequestMapping
#。類似地,PutMapping
將用method=RequestMethod
取代RequestMethod.PUT
method=RequestMethod替換
RequestMethod.DELETE
以上是Spring Boot Rest常用框架註解有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!