1. 程式人生 > >RESTful介面規範之GET/POST/PUT/DELETE

RESTful介面規範之GET/POST/PUT/DELETE

REST 是Representational State Transfer的縮寫,翻譯是”表現層狀態轉化”.

面向資源是REST最明顯的特徵,對於同一個資源的一組不同的操作。資源是伺服器 上一個可命名的抽象概念,資源是以名詞為核心來組織的,首先關注的是名詞。REST要求,必須通過統一的介面來對資源執行各種操作。對於每個資源只能執行一組有限的操 作。

7個HTTP方法:GET/POST/PUT/DELETE/PATCH/HEAD/OPTIONS

GET

安全且冪等
表示獲取

200(OK) - 表示已在響應中發出
204(無內容) - 資源有空表示
301(Moved Permanently) - 資源的URI已被更新 303(See Other) - 其他(如,負載均衡)
304(not modified)- 資源未更改(快取)
400 (bad request)- 指代壞請求(如,引數錯誤) 404 (not found)- 資源不存在
406 (not acceptable)- 服務端不支援所需表示
500 (internal server error)- 通用錯誤響應
503 (Service Unavailable)- 服務端當前無法處理請求

POST

不安全且不冪等
使用服務端管理的(自動產生)的例項號建立資源
建立子資源

200(OK)- 如果現有資源已被更改
201(created)- 如果新資源被建立
202(accepted)- 已接受處理請求但尚未完成(非同步處理) 301(Moved Permanently)- 資源的URI被更新
303(See Other)- 其他(如,負載均衡)
400(bad request)- 指代壞請求
404 (not found)- 資源不存在
406 (not acceptable)- 服務端不支援所需表示
409 (conflict)- 通用衝突
412 (Precondition Failed)- 前置條件失敗(如執行條件更新時的衝突) 415 (unsupported media type)- 接受到的表示不受支援
500 (internal server error)- 通用錯誤響應
503 (Service Unavailable)- 服務當前無法處理請求

PUT

不安全但冪等
通過替換的方式更新資源
如果未被修改,則更新資源(樂觀鎖)

200 (OK)- 如果已存在資源被更改
201 (created)- 如果新資源被建立
301(Moved Permanently)- 資源的URI已更改
303 (See Other)- 其他(如,負載均衡)
400 (bad request)- 指代壞請求
404 (not found)- 資源不存在
406 (not acceptable)- 服務端不支援所需表示
409 (conflict)- 通用衝突
412 (Precondition Failed)- 前置條件失敗(如執行條件更新時的衝突) 415 (unsupported media type)- 接受到的表示不受支援
500 (internal server error)- 通用錯誤響應
503 (Service Unavailable)- 服務當前無法處理請求

DELETE

不安全但冪等
刪除資源

200 (OK)- 資源已被刪除
301 (Moved Permanently)- 資源的URI已更改
303 (See Other)- 其他,如負載均衡
400 (bad request)- 指代壞請求
404 (not found)- 資源不存在
409 (conflict)- 通用衝突
500 (internal server error)- 通用錯誤響應
503 (Service Unavailable)- 服務端當前無法處理請求