错误
所有错误都将返回下表中最具体、最合适的 HTTP 响应代码:
返回代码
代码 | 错误 | 说明 |
---|---|---|
400 | 糟糕的请求 | 从客户端收到一个畸形请求。这是应用程序接口给出的最通用的响应 |
401 | 未经授权 | 您未获授权,无法访问所请求的资源 |
403 | 禁止 | 您没有访问所请求资源的权限 |
404 | 未找到 | 无法找到所请求的资源。稍后可能会出现 |
405 | 不允许的方法 | 请求的资源使用了不支持的 HTTP 方法 |
406 | 不可接受 | 客户端请求的 Accept 或 Accept-Encoding 类型不可用 |
409 | 冲突 | 由于与现有资源冲突,请求无法完成 |
410 | 走了 | 请求的资源不再可用,将来也不会可用 |
411 | 所需长度 | 请求的资源希望客户端提供 Content-Length (内容长度)。 |
413 | 请求实体过大 | 客户提供的请求体过大,资源拒绝处理 |
415 | 不支持的介质类型 | 客户提供的内容类型不正确(或无内容类型 |
422 | 无法处理的实体 | 请求未畸形,媒体类型可接受,但资源无法处理请求 |
429 | 请求太多 | 已达到速率限制。请参阅 "速率限制 "部分了解更多信息 |
500 | 内部服务器错误 | 由于服务器出现意外内部错误,服务器无法处理您的请求 |
501 | 未实施 | 请求的资源尚未执行 |
503 | 服务不可用 | 请求的服务暂时不可用 |
标准回复格式
所有错误都会有一个标准的响应体,包含代码和信息两个字段。可以使用更多的字段,但它们是可选的。
实例
这是错误返回正文的最简单形式,客户可以信赖每个错误中都有这些字段。
错误响应 - 示例 1(基线)
{
"code": 429,
"message": "You have exceeded your number of requests. Please try again later"
}
除标准字段外,以下示例还包含与该特定请求相关的错误。
错误响应 - 例 2(更复杂)
{
"code": 422,
"message": "Unprocessable entity",
"cause": "Validation failed",
"errors": [
{
"resource": "Issue",
"field": "title",
"code": "missing_field"
},
...
]
}