1. 程式人生 > >REST四種請求(get,delete,put,post) 收集整理 之一

REST四種請求(get,delete,put,post) 收集整理 之一

        資源是REST中最關鍵的抽象概念,它們是能夠被遠端訪問的應用程式物件。一個資源就是一個標識單位,任何可以被訪問或被遠端操縱的東西都可能是一個資源。資源可以是靜態的,也就是該資源的狀態永遠不會改變。相反,某些資源的狀態可能隨著時間推移呈現很大的可變性。這兩種型別的資源都是有效的

        為了簡化整體系統架構,REST架構風格包含了統一介面的概念。統一介面包含一組受限的良定義的操作,由它們進行資源的訪問和操作。不論什麼資源,都使用相同的介面。客戶端與Hotel,Room或CreditScore等資源互動時使用的介面是一樣的。統一介面獨立於資源的URI,並且也不需要類似IDL的檔案去描述可用的操作。

RESTful HTTP的介面非常流行且廣為使用。它包含標準的HTTP方法如GET,PUT和POST(瀏覽器使用它發出請求並提取頁面)。不幸的是,很多開發者認為實現RESTful應用就是用一種直接使用HTTP的方式,這種理解是錯誤的。舉個例子,HTTP方法的實現必須要遵循HTTP規範的,而通過GET方法建立或修改物件是不遵守HTTP規範的。

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)- 服務端當前無法處理請求

DELETE
- 刪除資源
200 (OK)- 資源已被刪除

301 (Moved Permanently)- 資源的URI已更改
303 (See Other)- 其他,如負載均衡

400 (bad request)- 指代壞請求t
404 (not found)- 資源不存在
409 (conflict)- 通用衝突

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)- 服務端不支援所需表示/p>

409 (conflict)- 通用衝突

412 (Precondition Failed)- 前置條件失敗(如執行條件更新時的衝突)

415 (unsupported media type)- 接受到的表示不受支援

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)- 服務當前無法處理請求