Http API設計

Heroku團隊根據heroku platform api和他們本身內部系統的實踐經驗總結了一些http api設計的準則,發佈到了github上。前端

地址:https://github.com/interagent/http-api-designgit

鑑於見到太多公司的http接口沒有按照標準規範來實施,推薦作服務接口設計和前端的同窗都看看。github

 

其中很重要的幾條抽出來:api

  • 返回正確的狀態代碼

不要始終使用200! 201,202對應不一樣的METHOD是頗有意義的。 出現錯誤是應該返回正確的狀態碼,是請求參數錯誤請返回400,是服務器內部出錯請返回500,服務器壓力過大須要kill鏈接請返回503,對於行爲錯誤而不是權限問題不要使用401而要用403。這些狀態代碼自己都有意義,不須要去而外的建立代碼或者用額外的屬性。服務器

  • 以ISO8601格式來使用UTC時間

記得使用UTC,同時格式統一,真的須要在每一個項目裏面去引用moment.js來處理時間?時區和格式足夠頭痛了,moment.js也不是萬能的。設計

  • 給出結構化的錯誤信息

錯誤不要只返回給狀態嗎,可以給出必定錯誤信息的狀況下要在body中返回統一的結構化的錯誤信息。這樣客戶端也能夠作出正確的處理,是等待以後重試仍是中止請求通知用戶。api設計

 

固然還有不少就不一一細列了。orm

相關文章
相關標籤/搜索