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

另请参阅