REST API 状态码使用指南

为在 REST API 中针对各种情况选择合适的状态码提供实用标准。

设计良好的 REST API 会通过状态码清晰地传达请求结果。查询成功使用 200 OK,创建资源使用 201 Created(新 URL 放在 Location 头中),没有返回主体的成功(例如删除)使用 204 No Content。

客户端错误用 4xx 区分。语法错误用 400 Bad Request,需要认证用 401 Unauthorized,没有权限用 403 Forbidden,资源不存在用 404 Not Found,状态冲突用 409 Conflict,校验失败用 422 Unprocessable Content,请求过多用 429 Too Many Requests,这些都是标准做法。

服务器错误用 5xx 告知。意外异常用 500 Internal Server Error,过载或维护用 503 Service Unavailable,并尽可能同时发送 Retry-After 头。最重要的是,对相同情况始终一致地返回相同的状态码,这直接决定了 API 的易用性。