趣說API HTTP 狀態碼的使用

2021-09-12 23:25:15 字數 896 閱讀 2219

在設計api http 狀態碼的時候,我們總能聽到兩種聲音:

第一種,也是大家最常用的:

所有介面的狀態碼都返回200,然後在自定義錯誤碼:

# 正確響應

}# 錯誤響應

}

另一種,rest api,僅使用http狀態**:

# 正確響應

# 錯誤響應

更多的錯誤碼規範可以直接從 http status code 檢視。

為什麼說是兩種聲音,其實現在基本規範的話都會直接選擇第二種,基本上,github的

github api v3以及現在普遍後端框架的設計都對於rest api有著更好的支援。

所以上面聲音的爭執似乎存在與前後端的更多些。

補充一下github v4版本已經開始使用

graphql了,graphql是一種查詢語言,相比於rest api的設計,現在國外比較喜歡和流行graphql,但好像國內還並未聽說有過多的使用。

說一下兩者的優缺點吧,

第一種:

第二種:

而結合兩種優缺點,現在許多人開始有了第三種方式:

http status 與json body 相結合

參考資料

dingo-api 錯誤響應

github v4

狀態碼200 201 204 使用方式

201 created 該請求已成功,並因此建立了乙個新的資源。這通常是在post請求,或是某些put請求之後返回的響應。http協議中 204 no content 成功狀態響應碼表示目前請求成功,但客戶端不需要更新其現有頁面。204 響應預設是可以被快取的。在響應中需要包含頭資訊 etag。20...

狀態碼的類別以及常用狀態碼

狀態碼由三位數字和原因短語組成,如200 ok。三位數字中第一位指定響應類別,後兩位無分類。第一位數字的響應類別有5種。如下 類別及原因短語 1xxinformational 資訊性狀態碼 接收的請求正在處理 2xxsuccess 成功狀態碼 請求正常處理完畢 3xxredirection 重定向狀...

HTTP的狀態碼

ajax 在返回的時候,會有http請求的狀態碼 常用的狀態碼主要有 200 ok 成功返回狀態,對應,get,put,patch,delete.201 created 成功建立。304 not modified http快取有效。400 bad request 請求格式錯誤。401 unautho...