restful接口規範筆記

約定

GET(Select):查詢
POST(Create):建立
PUT(Replace):替換
PATCH(Update):更新
DELETE(Remove):刪除

ssl

restful API必定要使用https傳輸git

json

目前,json做爲惟一的交互格式github

命名規則

snakejson

電影

GET /movies 
POST /movies 
GET /movies/12 
PUT /movies/12 
PATCH /movies/12 
DELETE /movies/12

電影評論

GET /movies/12/comments 
POST /movies/12/comments 
GET /movies/12/comments/5
PUT /moviess/12/comments/5 
PATCH /movies/12/comments/5 
DELETE /movies/12/comments/5

 過濾,查詢,排序

https://API.com/movies?state=open&search=funny&sort=-priority,created_at

鑑權

restful API是無狀態的也就是說用戶請求的鑑權和cookie以及session無關,每一次請求都應該包含鑑權證實。統一使用Token或者OAuth2.0認證。緩存

狀態碼

200 ok  - 成功返回狀態,對應,GET,PUT,PATCH,DELETE.
 201 created  - 成功建立。
 304 not modified   - HTTP緩存有效。
 400 bad request   - 請求格式錯誤。
 401 unauthorized   - 未受權。
 403 forbidden   - 鑑權成功,可是該用戶沒有權限。
 404 not found - 請求的資源不存在
 405 method not allowed - 該http方法不被容許。
 410 gone - 這個url對應的資源如今不可用。
 415 unsupported media type - 請求類型錯誤。
 422 unprocessable entity - 校驗錯誤時用。
 429 too many request - 請求過多。

 優秀案例

https://developer.github.com/v3/
相關文章
相關標籤/搜索