3.使用Spring MVC開發RESTful API

前言

使用SpringMVC 開發RESTful API主要講解一下內容web

1. 使用Spring MVC編寫Restful API

2.使用Spring MVC處理其餘web應用常見的需求和場景

3.Restful API開發經常使用輔助框架(swagger,wiremok)

內容

1. 使用Spring MVC編寫Restful API

1.1 Restful簡介

1.1.1 傳統接口和Restful API對比

增刪查改傳統和Restful API的URL對比spring

傳統 Restful API
查詢 /user/query?name=Jack GET /user?name=Jack GET
詳情 /user/getInfo?id=1 GET /user/1 GET
建立 /user/create?name=Jack POST /user POST
修改 /user/update?id=1&name=Jack POST /user/1 PUT
刪除 /user/delete?id=1 GET /user/1 DELETE

增刪查改傳統和Restful API的特色對比json

傳統 Restful API
用URL描述行爲(分別帶有操做動詞:經過這些動詞知道行爲) 用URL描述資源(url上看不到行爲:上面詳情、修改、刪除都是對id=1的用戶;用戶id爲1的用戶對系統來講是一個資源)
行爲描述用url動詞,http結果無論成功失敗都是返回json,也許狀態碼都是200 用HTTP方法描述行爲(用GET、POST、PUT、DELETE描述行爲),使用HTTP狀態碼來標識不一樣結果
url上使用鍵值對傳遞參數較多 使用json交互數據
Restful API只是一種風格,並非強制標準
1.1.2 Rest成熟度模型

一下模型中,把Restful成熟度分爲了4級。0-3,數字越大級別越高 越來知足此模型 瀏覽器

9.png

  • 使用HTTP做爲傳輸方式,不是http傳輸就不是restful API。
  • 引入資源概念,每一個資源都有對應url;restful API是用URL描述資源,請求接口中無動做。
  • 使用HTTP方法進行不一樣操做、使用HTTP狀態碼錶示不一樣結果。
  • 超媒體控制:在資源的表達中包含了連接信息。這種規範在大部分工做中很難達到,通常知足到level2。

1.2 查詢請求

編寫Restful API須要編寫如下內容:restful

  1. 編寫針對Restful API測試用例(使用web瀏覽器地址欄是檢驗不了PUT、post)
  2. 使用註解聲明Restful API
  3. 在Restful API中傳遞參數
1.2.1 編寫針對Restful API測試用例

首先須要引入測試依賴;框架

<dependency>  
 <groupId>org.springframework.boot</groupId>  
 <artifactId>spring-boot-starter-test</artifactId>  
</dependency>

咱們有時候執行:mvn clean install時候下載不下來對應依賴時候,咱們在本地依賴倉庫刪除所依賴,而後從新執行:mvn clean installspring-boot

相關文章
相關標籤/搜索