REST、RESTful 与 RESTful API
轉(zhuǎn)載:https://blog.csdn.net/xiaojin21cen/article/details/78696943
REST
REST 即 REpresentational State Transfer 。?
State Transfer 為 “狀態(tài)傳輸” 或 “狀態(tài)轉(zhuǎn)移 “,Representational 中文有人翻譯為”表征”、”具象”。合起來(lái)就是 “表征狀態(tài)傳輸” 或 “具象狀態(tài)傳輸” 或 “表述性狀態(tài)轉(zhuǎn)移”
REST是一種軟件架構(gòu)風(fēng)格。主要有以下特點(diǎn):
- 1.資源通過(guò)URL來(lái)指定和操作。
- 2.對(duì)資源的操作包括獲取、創(chuàng)建、修改和刪除,正好對(duì)應(yīng)HTTP協(xié)議的GET,POST,PUT和DELETE方法。
- 3.連接是無(wú)狀態(tài)性的。
- 4.能夠利用Cache機(jī)制來(lái)提高性能。”
它基于HTTP協(xié)議,并不涉及新的技術(shù),而且與SOAP,XML-RPC相比,更加簡(jiǎn)潔、高效。
這里談?wù)勎覍?duì)這四個(gè)設(shè)計(jì)原則的理解。
顯式地使用 HTTP 方法
這個(gè)是對(duì)Web方式的回歸。通過(guò)顯式的調(diào)用HTTP的方法(POST、GET、PUT 和 DELETE)來(lái)完成資源數(shù)據(jù)的CURD。
無(wú)狀態(tài)
出于對(duì)服務(wù)更好地支持負(fù)載均衡和故障轉(zhuǎn)移功能、代理和網(wǎng)關(guān)的服務(wù)器集群功能設(shè)計(jì)。
公開(kāi)目錄結(jié)構(gòu)式的 URI
資源結(jié)構(gòu)的規(guī)范化。目錄結(jié)構(gòu)式也是資源結(jié)構(gòu)設(shè)計(jì)時(shí)要考慮的問(wèn)題,如何設(shè)計(jì)資源的結(jié)構(gòu)來(lái)支持系統(tǒng)的業(yè)務(wù)?特別是多參數(shù)查詢業(yè)務(wù)。
傳輸 XML、JavaScript Object Notation (JSON),或同時(shí)傳輸這兩者
客戶端請(qǐng)求選用最適合的特定內(nèi)容類型。服務(wù)的構(gòu)造應(yīng)該利用內(nèi)置的 HTTP Accept Header,其中該 Header 的值為 MIME 類型。
總體來(lái)看,REST風(fēng)格的工作主要集中在系統(tǒng)的設(shè)計(jì)階段,要求按照其原則來(lái)設(shè)計(jì)資源的結(jié)構(gòu)和API。這有利于后期的維護(hù)和擴(kuò)展。
RESTful
REST 指的是一組架構(gòu)約束條件和原則。滿足這些約束條件和原則的應(yīng)用程序或設(shè)計(jì)就是 RESTful。
HTTP 請(qǐng)求在 RESTful Web 服務(wù)中的典型應(yīng)用
| 一組資源的 URI,比如?http://www.example.com/resources/ | 列出 URI 及該資源組中每個(gè)資源的詳細(xì)信息 | 使用一組給定的資源替換當(dāng)前整組資源 | 在本組資源中創(chuàng)建 /追加一個(gè)新資源 | 刪除整組資源 |
| 單個(gè)資源的 URI,比如?http://www.example.com/resources/1 | 獲取給定資源的詳細(xì)信息 | 替換 / 創(chuàng)建指定的資源,并將其追加到相應(yīng)的資源組 | 把指定的資源作為資源組,并在其下創(chuàng)建 / 追加一個(gè)新元素,使其隸屬于當(dāng)前資源 | 刪除指定元素 |
RESTful API
RESTful API 是一套互聯(lián)網(wǎng)應(yīng)用程序的 API 設(shè)計(jì)理論。
RESTful API 的返回結(jié)果應(yīng)該符合以下規(guī)范
GET /collection:返回資源對(duì)象的列表(數(shù)組)?
GET /collection/resource:返回單個(gè)資源對(duì)象?
POST /collection:返回新生成的資源對(duì)象?
PUT /collection/resource:返回完整的資源對(duì)象?
PATCH /collection/resource:返回完整的資源對(duì)象?
DELETE /collection/resource:返回一個(gè)空文檔
轉(zhuǎn)載于:https://www.cnblogs.com/mybatis/p/9395710.html
總結(jié)
以上是生活随笔為你收集整理的REST、RESTful 与 RESTful API的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 线程、协成、IO模型
- 下一篇: 小程序图片显示问题