restful-api接口的设计规范介绍
???????首先,咱們得知道什么是restful-api,它產生的背景是什么,作用是什么,這樣以便于我們更好的去學習和掌握這門知識。
什么是restful-api:
????????EST,即Representational State Transfer的縮寫。直接翻譯的意思是"表現層狀態轉化"。
???????? 它是一種互聯網應用程序的API設計理念 :URL定位資源,用HTTP動詞(GET,POST,DELETE,DETC等)描述操作。
產生背景及作用:
???????近年來移動互聯網的發展,前端設備層出不窮(手機、平板、桌面電腦、其他專用設備…),前端與后端開發人員在進行開發時需要進行交互等測試,那問題來了,在這個交互和測試環節我們如何達成一致了,方便測試呢?所以為了方便開發人員測試,提高開發效率,因此,必須有一種統一的機制來規范,于是RESTful誕生了,而且restful-api設計規范被大多數程序員認可,它可以通過一套統一的接口為 Web,iOS和Android提供服務。
???????相信大家看完上面的內容應該對restful-api有了一定的了解和認識,那么接下來具體介紹一下restful-api的設計規范。
具體設計規范:
1.應該盡量將API部署在專用域名之下
http://api.douban.com/v2/user/1000001?apikey=XXX
2.應該將API的版本號放入URL
http://api.douban.com/v2/user/1000001?apikey=XXX
3.在RESTful架構中,每個網址代表一種資源(resource),所以網址中不能有動詞,只能有名詞,而且所用的名詞往往與數據庫的表格名對應。一般來說,數據庫中的表都是同種記錄的"集合"(collection),所以API中的名詞也應該使用復數。
http://api.douban.com/v2/book/:id (獲取圖書信息)
http://api.douban.com/v2/movie/subject/:id (電影條目信息)
http://api.douban.com/v2/music/:id (獲取音樂信息)
http://api.douban.com/v2/event/:id (獲取同城活動)
4.對于資源的具體操作類型,請求方式,由HTTP動詞表示。常用的HTTP動詞有下面四個(對應增/刪/改/查)。
GET(select):從服務器取出資源(一項或多項)。
eg. 獲取圖書信息 GET http://api.douban.com/v2/book/:id
POST(create):在服務器新建一個資源。
eg.用戶收藏某本圖書 POST http://api.douban.com/v2/book/:id/collection
PUT(update):在服務器更新資源(客戶端提供改變后的完整資源)。
eg. 用戶修改對某本圖書的收藏PUThttp://api.douban.com/v2/book/:id/collection
DELETE(delete):從服務器刪除資源。
eg. 用戶刪除某篇筆記 DELETE http://api.douban.com/v2/book/annotation/:id
5.如果記錄數量很多,服務器不可能都將它們返回給用戶。API應該提供參數,過濾返回結果
?limit=10:指定返回記錄的數量
eg. 獲取圖書信息 GEThttp://api.douban.com/v2/book/:id?limit=10
6.服務器向用戶返回的狀態碼和提示信息
每個狀態碼代表不同意思, 就像代號一樣
2系 代表正常返回
4系 代表數據異常
5系 代表服務器異常
接口安全:
1.API的身份認證應該使用OAuth 2.0框架。
2.技術團隊自己約定的規則
增加兩個參數 time, token
time為時間戳, 用于判斷接口請求是否超時
token為時間戳加密后的字符串, 加密規則只有你們技術團隊自己知道
總結
以上是生活随笔為你收集整理的restful-api接口的设计规范介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 浅谈三个星期零基础入门学习Thinkph
- 下一篇: 1.1.3 计算机的分类与发展方向(电子