摘要:它的理論比較抽象不太具體,理解它主要在于理解這些概念資源表現層狀態轉換。基于原則設計的,一般稱為,需要遵守以下這些原則。返回結果,結果應該包括多種情況,異常錯誤信息正確結果目前而言最好使用格式傳輸數據。參考的理解,阮一峰
RESTful API
目前的異步加載橫行的時候,異步請求已經遍地都是,而規定請求接口的時候,如果不能有很好的風格的話,很多時候會讓開發者誤解,一個好的API接口 設計需要注意以下:
參數職責單一
意圖清晰,便于開發者調用
易于訪問者輸入
看是但是真的設計的時候經常會設計出不規范 的接口,
REST原則REST 即Representational State Transfer的縮寫。它的理論比較抽象不太具體,理解它主要在于理解這些概念:資源、表現層、狀態轉換。
基于REST原則設計的API,一般稱為 RESTFul API,需要遵守以下這些原則。
URL描述的是一個特定資源。因此描述需要名詞,不能出現動詞。因為動詞描述的不再是資源本身,而是行為
利用HTTP請求的動詞表示對于資源操作的行為
同時,對于URL的設計一般還有約定俗成的以下補充。
對于資源的描述的名詞應該是層級嵌套的方式,比如 /company/department/projects。通過這種對于信息層級描述的方式,更利于實體的抽象,以及增加客戶端與服務器端開發人員對于整個系統模塊認知的一致性
路徑終點的命名考慮用復數形式,比如 /books。一般一個URL路徑表示的資源會映射為數據庫一系列表的記錄的集合,因此使用復數更直觀
實踐設計實際設計restful api時的注意點包括以下:
盡量使用https協議
如果接口是公用且會被擴展時,應該考慮放在專有域名下,https://api.baidu.com
由于api會在業務中不斷地迭代,所以最好是帶上版本,https://api.baidu.com/v2/
最后接口路徑應該盡量使用集合,也就是復數形式,https://api.baidu.com/v2/books
操作類接口應該注意使用對應的動詞來操作
GET /zoos:列出所有動物園 POST /zoos:新建一個動物園 GET /zoos/ID:獲取某個指定動物園的信息 PUT /zoos/ID:更新某個指定動物園的信息(提供該動物園的全部信息) PATCH /zoos/ID:更新某個指定動物園的信息(提供該動物園的部分信息) DELETE /zoos/ID:刪除某個動物園 GET /zoos/ID/animals:列出某個指定動物園的所有動物 DELETE /zoos/ID/animals/ID:刪除某個指定動物園的指定動物
參數,使用參數來進行篩選,?page=2&per_page=100:指定第幾頁,以及每頁的記錄數。
返回結果,結果應該包括多種情況,異常、錯誤信息、正確結果{status:"ok",massage:"ok",data:{data:1}}
目前而言最好使用JSON格式傳輸數據。
參考:efe的restful理解,阮一峰restful api
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/89288.html
摘要:表形容詞,意為的具有的。指的是一組架構約束條件和原則。協議要優于協議。的操作方法在中有各自的語義,理解它們的語義至為重要。返回結果對于不同操作方法和操作對象集合或個體,服務器返回的結果應該符合以下規范。附錄該文主要參考理解架構設計指南 前言 近十年,前端高速發展,整個互聯網應用經歷了從輕客戶端到重客戶端的變化,隨著前端規模越來越大,交互越來越復雜,前后端分離的設計開始流行。 移動互聯網...
摘要:表形容詞,意為的具有的。指的是一組架構約束條件和原則。協議要優于協議。的操作方法在中有各自的語義,理解它們的語義至為重要。返回結果對于不同操作方法和操作對象集合或個體,服務器返回的結果應該符合以下規范。附錄該文主要參考理解架構設計指南 前言 近十年,前端高速發展,整個互聯網應用經歷了從輕客戶端到重客戶端的變化,隨著前端規模越來越大,交互越來越復雜,前后端分離的設計開始流行。 移動互聯網...
showImg(https://segmentfault.com/img/bV6aHV?w=1280&h=800); 社區優秀文章 Laravel 5.5+passport 放棄 dingo 開發 API 實戰,讓 API 開發更省心 - 自造車輪。 API 文檔神器 Swagger 介紹及在 PHP 項目中使用 - API 文檔撰寫方案 推薦 Laravel API 項目必須使用的 8 個...
摘要:其他交互一般會遵循一些數據結構協議或者狀態值,比如不同的操作結果對應不同的狀態值,且出錯會返回指定的錯誤信息方便前端進行提示等。 RESTful這種架構已經具有很長的時間和歷程了,但似乎最近restful這個詞出現的頻率特別高,目前不是很清楚是因為我自個兒現在是以restful風格寫程序產生的孕婦效應,還是單頁面程序開發的流行造成的。 其實一開始我也是不想寫這篇文章的,因為網絡上與re...
摘要:互聯網通信協議協議,是一個無狀態協議。具體來說,就是協議里面,四個表示操作方式的動詞。版本號的版本號和客戶端的版本號是毫無關系的,不要讓將它們用于提交應用市場的版本號傳遞到服務器,而是提供類似于之類的版本號。版本號拼接在中。 為什么要用 RESTful RESTful 給我的最大感覺就是規范、易懂和優雅,一個結構清晰、易于理解的 API 完全可以省去許多無意義的溝通和文檔。并且 RES...
閱讀 1989·2021-11-24 09:39
閱讀 984·2021-11-11 16:55
閱讀 1439·2021-10-09 09:43
閱讀 1421·2021-10-08 10:17
閱讀 1658·2021-08-25 09:41
閱讀 430·2019-08-30 13:02
閱讀 632·2019-08-29 15:14
閱讀 1010·2019-08-29 13:53