RESTful API 規範
阿新 • • 發佈:2019-01-11
span 狀態 表格 clas 篩選 安全基礎 而且 發生 接口
首先 RESTful 是一種軟件架構風格或者說是一種設計風格,並不是標準,它只是提供了一組設計原則和約束條件,主要用於客戶端和服務器交互類的軟件。
一、協議
在 url 接口中推薦使用 Https 協議,讓網絡接口更加安全。(簡單講是 Http 的安全版。即 Http 下加入SSL層,Https 的安全基礎是 SSL,因此加密的詳細內容就需要SSL)
二、接口
在 url 中可以體現這是個 API 接口。
https://127.0.0.1:8000/api/
三、版本
在 url 中可以體現版本號。
https://127.0.0.1:8000/api/v1/
四、路徑
在 RESTful 架構中,每個網址代表一種資源(resource),所以網址中不能有動詞,只能有名詞,而且所用的名詞往往與數據庫的表格名對應。一般來說,數據庫中的表都是同種記錄的"集合"(collection),所以 API 中的名詞也應該使用復數。
<!-- 多條數據 --> http://127.0.0.1:8000/api/v1/courses/ <!-- 單條數據 --> http://127.0.0.1:8000/api/v1/course/1/
五、篩選
如果數據數量很多,服務器不可能都將它們返回給用戶。API 應該提供參數,過濾返回結果。
?page=2
六、狀態碼
服務器應向用戶返回狀態碼和提示信息。
七、錯誤處理
如果發生錯誤,就應該向用戶返回出錯信息。
{"code": 1000, "error": "用戶名或密碼錯誤!"}
八、請求方式
可以根據 Http 不同的請求 method,進行不同的資源操作。(GET、POST、PUT、PATCH、DELETE)
九、Hypermedia API
RESTful API 最好做到 Hypermedia,即返回結果中提供鏈接,連向其他 API 方法。
十、其他
服務器返回的數據格式,應該盡量使用JSON,避免使用XML。
RESTful API 規範