0902自我總結
restful接口規范
-
1.一般都采用安全協議(接口都是操作數據的):https
http協議 應用層協議 請求與響應規范:首行 - 頭 - 體 特點:無狀態、無連接、請求永遠是客戶端到服務器端、ssl 而 https協議 相對於http協議多了個ssl安全套接層 #https比http傳輸速度要蠻 #https比http數據更加安全
-
2.體現接口的關鍵字
https://api.xxx.com/books/
-
3.接口操作的數據稱之為資源:采用資源名稱的復數
https://api.xxx.com/books/
-
4.接口鏈接中不出現操作資源的動詞,通過請求方式來決定操作資源的動作
get
|post
:https://api.xxx.com/books/
- get:獲取所有 | post:增加一個
get
|put
|patch
|delet
:https://api.xxx.com/books/(?P<pk>)/
- get:獲取一個 | put:整體修改一個(patch:局部修改一個) | delet:刪除一個
-
5.資源數據有多版本時,接口可以做版本控制
https://api.xxx.com/books/v1/
https://api.xxx.com/v2/books/
-
6.資源響應的限制條件:篩選、排序、限制...
https://api.xxx.com/books/?publish=1&ordering=-price&limit=3
-
7.響應狀態碼
網絡狀態碼:2xx | 3xx | 4xx | 5xx
數據狀態碼(自己合前端商量約定的):0 | 1 | 2
{
'status': 1,
}
-- SUCCESS(0, "查詢成功")
-- NODATA(1, "非正確,無數據,顯示基本信息")
-- FEAILED(2, "查詢失敗")
常見的網絡狀態碼
狀態碼 | 說明 |
---|---|
200 | 獲取或修改成功 |
201 | 新增成功 |
204 | 刪除成功 |
404 | 資源不存在 |
400 | 客戶請求有誤 |
500 | 服務器錯誤 |
-
8.響應結果的信息描述:
{ 'status': 1, #狀態碼 'msg': 'login failed' #內容 }
-
9.響應的結果:
- get所有:所有資源
- get一個:一個資源
- post、put、patch:新增、修改的資源
- delete:不做任何返回
實際開發中最好返回消息
-
10.響應結果中有二次資源(用戶頭像:圖片鏈接,用戶詳情:詳情接口)要表明請求二次資源的接口
{ 'status': 1, #數據狀態碼 'msg': 'login failed' #內容 'results':[ #二次資源 { name:'xxxxx' price:'xxxx' img:'path' } ] }