HTTP 状态代码

HTTP 响应可返回以下状态代码。

HTTP 代码 HTTP 说明 备注
2xx 确定 不是错误;成功时返回。这也应该用于业务逻辑故障(例如,CreateBookingResponse 中的 booking_failure 已填充)
400 请求无效 请求错误/参数无效(未找到商家、服务和空档、尝试预订无效空档、取消从未存在的预订)。
401 未经授权 未通过身份验证(凭据无效,请重试登录)。请求没有执行相应操作的有效身份验证凭据。
403 禁止 权限被拒绝/禁止(调用方已知且被拒)。如果遭拒导致某些资源已用尽,则不得使用此响应(请改用 Too Many Requests 来表示此类错误)。如果无法识别调用方,不得使用 Forbidden(请改用 Unauthorized 来表示此类错误)。
404 未找到 未找到(未找到相应资源;网址无效;包含无效的 RPC)
409 冲突 操作被中止,通常是由于定序器检查失败或事务中止等并发问题。
429 请求过多 某些资源已用尽,可能是因为每个用户的配额不足,也可能是整个文件系统的存储空间已用尽。
499 客户关闭了请求 操作已取消(通常是被调用者取消)。
500 内部服务器错误 内部错误。这意味着底层系统所期望的一些不变量已损坏。此错误代码专用于严重错误。
501 未实现 操作在此服务中未实现或不受支持/未启用。
503 服务不可用 该服务目前不可用。这很可能是一种暂时情况,可以通过退避重试来纠正。
504 网关超时 期限已到,但操作尚未完成。对于更改系统状态的操作,即使操作已成功完成,也可能会返回此错误。例如,服务器的成功响应延迟时间过长,截止期限已过。

有时可能有多个错误代码都适用。服务应返回适用且最具体的错误代码。