知乎上有句話總結的很好了,url定位資源用http動詞(get post delete)描述操作。
其實只要理解以下幾個原則就可以了:
1.提供資源定位
一般在計算機系統中,client和server通訊交換資訊,發出action來完成任務。假設在乙個to-do-list的web應用中,客戶需要新增或者修改to-do-list,如果用非
rest的方法是這樣的:
www/changetodolist.php?item=35&action=changetitle&title=new_title以上的url是向web api發出修改的指令,之後跟著的是一些修改的引數。但是,changetodolist.php表述的不是乙個事物,也不是乙個資源(resource),在rest的架構風格中,伺服器只提供資源(only offer resources), 資源表述的是c/s通訊中的概念(即名詞)。以下就是rest的方式:
www/todolists/7/items/35/以上的url在語義上表現就不是一些系列命令了,只僅僅是資源的url位址。
2.只交換自描述(self-descriptive)的訊息
考慮以下場景:
/search-results?q=todo
/search-results?page=2
/search-results?page=3
以上的web api,第乙個代表搜尋todo的結果,第二行todo結果的第二頁,之後類推。但是單獨從第二行的引數就無法看出這api是幹嘛的,什麼的第二頁?不得而知。
以下是restful的設計:
/search-results?q=to-do
/search-results?q=todo&page=2
/search-results?q=todo&page=3
這樣單獨每行都能解釋自身的意思,也就是自圓其說了。
3.通過連線(links)鏈結資源(resources)
/todolists/7/
todolists/7/
references:
對RESTful API的理解
restful是目前最流行的api設計規範,用於web資料介面的設計。一句話描述restful就是 客戶端傳送請求時,用uri定位資源,用http方法描述動作。也就是 動詞 賓語 的結構。get 獲取資料 post 傳送資料 put 更新資料 delete 刪除資料 uri應該是名詞,不能是動詞。比...
對restful API的理解
restful是一種軟體設計風格,一種思想,它不是一種標準規定,不使用restful風格api,我們也能正常開發工作,它只是一種大家比較提倡的設計規範。我們平時設計介面時,常根據自己所做的功能為介面起名稱,比如要寫乙個查詢使用者列表的介面,我們可能會起 queryuser的介面名,有的人會起sele...
個人對 RESTful API 的理解
首先,先了解下rest,rest的全稱 representational state transfer,即 表現層狀態轉化 它代表著分布式服務的架構風格。只需要寫乙個後台系統提供rest風格的uri,不同的客戶端,如瀏覽器 android ios等都請求該同乙個後台系統。那麼這些前端接收到的使用者請...