REST面向资源架构 RESTful架构
REST基礎概念:
- 在REST中的一切都被認為是一種資源。
- 每個資源由URI標識。
- 使用統一的接口。處理資源使用POST,GET,PUT,DELETE操作類似創建,讀取,更新和刪除(CRUD)操作。
- 無狀態。每個請求是一個獨立的請求。從客戶端到服務器的每個請求都必須包含所有必要的信息,以便于理解。
- 通信都是通過展現。例如XML,JSON
以狀態為角度,提出將狀態移植到客戶端處理的新思路。 提出一個既適于客戶端應用又適于服務端的應用的、統一的Web視圖。適合B/S C/S S/S。 HTTP客戶端與HTTP服務器之間的差別,對架構來說無所謂。一個軟件應可以既充當Web客戶端又充當Web服務器,而無須采用兩套完全不同的APIs。
提供資源操作方法的統一:POST, GET, PUT, DELETE ,以超文本或超媒體驅動(hypertext/Hypermedia)的狀態轉移是REST架構核心。 操作帶來狀態變化,狀態轉移遍歷使用鏈接導航方式實現。
如下圖:首先通過GET方法訪問/well-known-uri(1)獲得當前所有資源(2),然后選擇其中一個資源名FooService通過Get方法訪問/well-known-uri/foo(3),這樣得到foo下的資源列表。
foo可能是一個領域模型或其他代表業務核心的資源,假設foo是訂單,用戶如果希望改變訂單狀態,比如撤銷訂單,一旦點按撤銷訂單按鈕,客戶端將向/well-known-uri/foo/reverse發出PUT命令(5),代表撤銷訂單,這其實一個修改訂單狀態的命令。
客戶端再次發出GET命令(6),獲得狀態已經改變的結果。
值得注意的是,當發出PUT命令后,不是通常由服務器端立即返回業務操作結果,而是返回Http的200,表示PUT操作完成,具體業務結果必須由客戶端再次根據第三步獲得的資源列表中URI資源,再次由客戶端發出查詢命令獲得(6)。
https://www.jdon.com/rest.html
?
轉載于:https://www.cnblogs.com/softidea/p/9613540.html
總結
以上是生活随笔為你收集整理的REST面向资源架构 RESTful架构的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Vue.js学习笔记四
- 下一篇: 采访 | Dou. 愿你背着相机出行,归