鍍金池/ 教程/ Linux/ 返回合適的狀態(tài)碼
良好打印的默認(rèn) JSON
強(qiáng)制使用安全連接(Secure Connections)
通過(guò)請(qǐng)求中的范圍(Range)拆分大的響應(yīng)
嵌套外鍵關(guān)系
支持方便的無(wú) id 間接引用
使用 UTC(世界標(biāo)準(zhǔn)時(shí)間)時(shí)間,用 ISO8601 進(jìn)行格式化
提供標(biāo)準(zhǔn)的時(shí)間戳
提供資源的(UU)ID
提供全部可用的資源
描述穩(wěn)定性
路徑和屬性要小寫
強(qiáng)制頭信息 Accept 中提供版本號(hào)
生成結(jié)構(gòu)化的錯(cuò)誤
使用統(tǒng)一的資源路徑格式
支持 Etag 緩存
保證響應(yīng) JSON 最小化
在請(qǐng)求的 body 體使用 JSON 格式數(shù)據(jù)
隔離關(guān)注點(diǎn)
顯示頻率限制狀態(tài)
提供可執(zhí)行的例子
返回合適的狀態(tài)碼
最小化路徑嵌套
可讀性
為內(nèi)省而提供 Request-Id

返回合適的狀態(tài)碼

為每一次的響應(yīng)返回合適的HTTP狀態(tài)碼。 好的響應(yīng)應(yīng)該使用如下的狀態(tài)碼:

  • 200: GET請(qǐng)求成功,及DELETEPATCH同步請(qǐng)求完成,或者PUT同步更新一個(gè)已存在的資源
  • 201: POST 同步請(qǐng)求完成,或者PUT同步創(chuàng)建一個(gè)新的資源
  • 202: POST,PUTDELETE,或PATCH請(qǐng)求接收,將被異步處理
  • 206: GET 請(qǐng)求成功,但是只返回一部分

使用身份認(rèn)證(authentication)和授權(quán)(authorization)錯(cuò)誤碼時(shí)需要注意:

  • 401 Unauthorized: 用戶未認(rèn)證,請(qǐng)求失敗
  • 403 Forbidden: 用戶無(wú)權(quán)限訪問(wèn)該資源,請(qǐng)求失敗

當(dāng)用戶請(qǐng)求錯(cuò)誤時(shí),提供合適的狀態(tài)碼可以提供額外的信息:

  • 422 Unprocessable Entity: 請(qǐng)求被服務(wù)器正確解析,但是包含無(wú)效字段
  • 429 Too Many Requests: 因?yàn)樵L問(wèn)頻繁,你已經(jīng)被限制訪問(wèn),稍后重試
  • 500 Internal Server Error: 服務(wù)器錯(cuò)誤,確認(rèn)狀態(tài)并報(bào)告問(wèn)題

對(duì)于用戶錯(cuò)誤和服務(wù)器錯(cuò)誤情況狀態(tài)碼,參考: HTTP response code spec