1. 程式人生 > >RESTful API 規範

RESTful API 規範

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 規範