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。這些狀態代碼自己都有意義,不須要去而外的建立代碼或者用額外的屬性。服務器
記得使用UTC,同時格式統一,真的須要在每一個項目裏面去引用moment.js來處理時間?時區和格式足夠頭痛了,moment.js也不是萬能的。設計
錯誤不要只返回給狀態嗎,可以給出必定錯誤信息的狀況下要在body中返回統一的結構化的錯誤信息。這樣客戶端也能夠作出正確的處理,是等待以後重試仍是中止請求通知用戶。api設計
固然還有不少就不一一細列了。orm