Http API設計

來源:互聯網
上載者:User

標籤:des   http   com   使用   問題   代碼   

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

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

鑒於見到太多公司的http介面沒有按照標準規範來實施,推薦做服務介面設計和前端的同學都看看。

 

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

  • 返回正確的狀態碼

不要始終使用200! 201,202對應不同的METHOD是很有意義的。 出現錯誤是應該返回正確的狀態代碼,是請求參數錯誤請返回400,是伺服器內部出錯請返回500,伺服器壓力過大需要kill串連請返回503,對於行為錯誤而不是許可權問題不要使用401而要用403。這些狀態碼本身都有意義,不需要去而外的建立代碼或者用額外的屬性。

  • 以ISO8601格式來使用UTC時間

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

  • 給出結構化的錯誤資訊

錯誤不要只返回給狀態嗎,能夠給出一定錯誤資訊的情況下要在body中返回統一的結構化的錯誤資訊。這樣用戶端也可以做出正確的處理,是等待之後重試還是停止請求通知使用者。

 

當然還有很多就不一一細列了。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.