422 不可處理的實體內容

HTTP 的422 Unprocessable Content 客戶端錯誤響應 狀態碼錶示伺服器理解了請求實體的內容型別,並且請求實體的語法是正確的,但無法處理其中包含的指令。

收到 422 響應的客戶端應該預期,在不修改的情況下重複請求將以相同的錯誤失敗。

狀態

http
422 Unprocessable Content

示例

SHA 驗證失敗

以下示例發出請求以更新檔案內容(基於 GitHub 的 API)。content 欄位是 Base64 編碼的,並且每 60 個字元使用 \n 換行符,其中一個用於終止字串

http
PUT /repos/mdn/content/contents/README.md HTTP/1.1
Host: api.example.com
Accept: application/vnd.github+json
Authorization: Bearer abcd123
Content-Type: application/json
Content-Length: 165

{
  "message": "My commit",
  "content": "WW9zaGkgd2FzIHRoZXJlLCBzbyB3ZXJlIEF5c2UsIGFuZCBCZWxnaW4uIEl0\nIHdhcyBncmVhdCE=\n",
  "sha": "80e73970fdee49dbdbac27c1f565d1eb1975d519"
}

在此實現中,伺服器嚴格期望 RFC 4648 相容的 Base64 編碼內容(使用 嚴格編碼方法)。將返回 422 不可處理實體響應,並且 message 欄位提供有關驗證錯誤的上下文

http
HTTP/1.1 422 Unprocessable Entity
Date: Fri, 28 Jun 2024 12:00:00 GMT
Content-Type: application/json; charset=utf-8
Content-Length: 187

{
  "message": "content is not valid Base64",
  "documentation_url": "https://docs.example.com/en/rest/repos/contents"
}

規範

規範
HTTP 語義
# status.422

另請參閱