紅塵**
1.restful
風格闡述
1.1rest
服務是一種roa
(resource-oriented architecture,面向資源的架構)應用。主要特點是方法資訊存在於http
協議的方法中(get
,post
,put
,delete
),作用域存在於url
中。例如,在乙個獲取裝置資源列表的get
請求中,方法資訊是get
,作用域資訊是uri種包含的對裝置資源的過濾、分頁和排序等條件良好的
rest api
不需要任何文件
rest
風格資源路徑
rest
風格的資源路徑設計是面向資源的,資源的名稱
應該是準確描述該資源的名詞
。
資源路徑概覽:1.2sheme://host:port/path?querystring
例:http://localhost:8080/bywlstudio/users/user?username=xiuer
http
方法
資源位址和get
用於讀取、檢索、查詢
、過濾資源
psot
用於建立乙個資源
put
用於修改、更新資源、建立客戶端維護主鍵資訊的資源
delete
用於刪除資源
http
方法結合在一起就可以實現對資源的完整定位
1.3restful
風格api
設計
上文講述了通過http方法和資源路徑對伺服器的乙個資源進行定位的過程
接下來看乙個rest風格api
的設計
功能描述
新增/建立
post/users
put/users
建立客戶端維護主鍵資訊的資源
刪除delete/users/
修改/更新
put/users/
查詢全部
get/users
主鍵查詢
get/users/
get/users?id=26
分頁作用域查詢
get/users?start=0&size=10
get/users?07,2019-07,2020
可以看到通過這個restapi
都是通過對同乙個資源
的操作,所不同的就是通過不同的http方法
來實現對資源不同的處理。
2.mvc
對rest
的支援
1.1主要通過註解來實現
@responsebody
將響應內容轉換為json
格式
@requestbody
請求內容轉換為json
格式
@pathvariable("id")
用於繫結乙個引數
@restcontroller
等同於@controller
+@responsebody
在類上寫了這個註解,標識這個類的所有方法只返回資料
,而不進行檢視跳轉
1.2返回http
狀態碼
rest
風格api
乙個最鮮明的特點通過返回對應的httpstatus
來判斷客戶端的操作是否完成
下面是spring中關於http
狀態碼描述的列舉類,本文列舉了常見的狀態碼
(讀者若對此感興趣可以檢視httpstatus
原始碼)
spring返回狀態碼是通過@responsestatus
註解或者responseentity<?>
類實現的。
@responsestatus
方式
responseentity<?>
方式
1.3由於mvc
預設不支援put
和delete
方法,所以需要手動開啟
在tomcat
伺服器的web.xml
檔案中開啟一下配置
在專案的defaultservlet-name>
org.apache.catalina.servlets.defaultservletservlet-class>
debugparam-name>
0param-value>
init-param>
listingsparam-name>
falseparam-value>
init-param>
readonlyparam-name>
trueparam-value>
init-param>
1load-on-startup>
servlet>
web.xml
中配置
3.mvc
實現rest
**實現
3.1例項環境
3.2api
設計
獲取全部使用者
json
200get/users/
獲取指定主鍵的使用者
json
200put/users/
修改指定的主鍵的使用者資訊
json
200/201
post/users
增加乙個使用者
json
201delete/users/
刪除乙個使用者
void
2043.3控制層**
基於Restful風格的API操作
索引操作 新增索引 put index 索引 查詢索引 get index 刪除索引 delete index 對映管理資料管理1.通過id查詢 語法1 通過id查詢所有 select get 索引名 型別 id 語法2 通過id查詢部分 select 欄位1,欄位2 get 索引號 型別 id?s...
restful風格的介面
api與使用者的通訊協議,總是使用https協議。應該盡量將api部署在專用網域名稱之下。如果確定api很簡單,不會有進一步擴充套件,可以考慮放在主網域名稱下。應該將api的版本號放入url。v1 另一種做法是,將版本號放在http頭資訊中,但不如放入url方便和直觀。github採用這種做法。路徑...
設計風格 Restful
rest是設計風格而不是標準,只提供了一組設計原則和約束條件 資源由uri來指定 uri 統一資源識別符號 對資源的包括包括獲取 建立 修改 和刪除資源 這些操作正好對應http協議提供的get post put和delete方法 通過操作資源的表現形式來操作資源 非rest風格url http q...