成都微信端網站建/蘇州seo按天扣費
Restful API 設計示例
一 ,HTTP狀態(tài)碼
??正例:
200: 返回成功
說明:200表示成功,4xx表示客戶端異常,5xx表示服務端異常,參見HTTP 的返回碼含義
?反例:
除了200就是500
說明:如果不細化狀態(tài)碼,前端很難充分的顯示錯誤信息,比如警告信息和錯誤信息顯示樣式不一樣
二 , 返回數據格式
??正例:
{"data": {}, "message": "Success!", "status": 0, "requestId": 1609139633881
}
說明:data 主要負責存放數據,message 主要存放應用的請求日志, status 負責存儲應用狀態(tài), requestId 負責存儲本次請求的唯一識別碼,方便排查錯誤
?反例:
{"data": {"userid": 123}}
說明:只有數據,出了異常前端很難識別
三, 請求方法
??正例:
GET: 獲取數據
POST: 創(chuàng)建數據
PUT: 更新數據
DELETE: 刪除數據
說明:很容易和資源的操作的增刪改查對應起來,一個路由多次使用,減少路由的數量
?反例:
獲取數據,使用GET
所有的接口都是POST
說明:獲取數據必須是冪等(不改變結果), 可以直接在瀏覽器調試,更方便
四, 請求URL格式
??正例:
/event/type/element
說明:很容易看出來是遞進關系,需要操作的是事件類型要素,盡量不要使用復數
?反例:
/event_type_element
說明:沒有遞進關系
?反例:
/data/import
說明:最好不要出現動詞,否則破壞超文本協議(HTTP)對資源的抽象的概念,這種情況可以寫成/importor/extract_data 表示導入抽取數據