REST、RESTful 與 RESTful API

轉載:https://blog.csdn.net/xiaojin21cen/article/details/78696943

REST

REST 即 REpresentational State Transfer 。 
State Transfer 爲 「狀態傳輸」 或 「狀態轉移 「,Representational 中文有人翻譯爲」表徵」、」具象」。合起來就是 「表徵狀態傳輸」 或 「具象狀態傳輸」 或 「表述性狀態轉移」api

REST是一種軟件架構風格。主要有如下特色:數組

  • 1.資源經過URL來指定和操做。
  • 2.對資源的操做包括獲取、建立、修改和刪除,正好對應HTTP協議的GET,POST,PUT和DELETE方法。
  • 3.鏈接是無狀態性的。
  • 4.可以利用Cache機制來提升性能。」

它基於HTTP協議,並不涉及新的技術,並且與SOAP,XML-RPC相比,更加簡潔、高效。服務器

這裏談談我對這四個設計原則的理解。restful

顯式地使用 HTTP 方法架構

這個是對Web方式的迴歸。經過顯式的調用HTTP的方法(POST、GET、PUT 和 DELETE)來完成資源數據的CURD。負載均衡

無狀態性能

出於對服務更好地支持負載均衡和故障轉移功能、代理和網關的服務器集羣功能設計。.net

公開目錄結構式的 URI翻譯

資源結構的規範化。目錄結構式也是資源結構設計時要考慮的問題,如何設計資源的結構來支持系統的業務?特別是多參數查詢業務。設計

傳輸 XML、JavaScript Object Notation (JSON),或同時傳輸這二者

客戶端請求選用最適合的特定內容類型。服務的構造應該利用內置的 HTTP Accept Header,其中該 Header 的值爲 MIME 類型。

整體來看,REST風格的工做主要集中在系統的設計階段,要求按照其原則來設計資源的結構和API。這有利於後期的維護和擴展。

RESTful

REST 指的是一組架構約束條件和原則。知足這些約束條件和原則的應用程序或設計就是 RESTful。

HTTP 請求在 RESTful Web 服務中的典型應用

資源 GET PUT POST DELETE
一組資源的 URI,好比 http://www.example.com/resources/ 列出 URI 及該資源組中每一個資源的詳細信息 使用一組給定的資源替換當前整組資源 在本組資源中建立 /追加一個新資源 刪除整組資源
單個資源的 URI,好比 http://www.example.com/resources/1 獲取給定資源的詳細信息 替換 / 建立指定的資源,並將其追加到相應的資源組 把指定的資源做爲資源組,並在其下建立 / 追加一個新元素,使其隸屬於當前資源 刪除指定元素

RESTful API

RESTful API 是一套互聯網應用程序的 API 設計理論。

RESTful API 的返回結果應該符合如下規範

GET /collection:返回資源對象的列表(數組) GET /collection/resource:返回單個資源對象 POST /collection:返回新生成的資源對象 PUT /collection/resource:返回完整的資源對象 PATCH /collection/resource:返回完整的資源對象 DELETE /collection/resource:返回一個空文檔

相關文章
相關標籤/搜索