422 Unprocessable Content

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

收到 422 響應的客戶端應預期,不作修改地重複請求也會遇到相同的錯誤。

狀態

http
422 Unprocessable Content

示例

SHA 驗證失敗

以下示例發出一個請求來更新檔案內容(基於 GitHub 的 API)。content 欄位是 Base64 編碼的,每 60 個字元使用一個 \n 換行符,並以一個 \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 Unprocessable Content 響應,並且 message 欄位提供了關於驗證錯誤的上下文。

http
HTTP/1.1 422 Unprocessable Content
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

另見