错误码参考 #

1. 错误码体系 #

所有 API 响应均包含统一错误码,格式为 5 位十进制数字。

范围 含义 说明
0 成功 请求正常处理
1xxx 业务错误 业务逻辑相关的预期内失败
2xxx 内容/数据错误 数据校验、内容合规等
3xxx 客户端通用错误 请求参数、格式、配额等
4xxx 认证与权限 身份验证或访问控制失败
5xxx 服务端错误 系统内部异常

成功响应示例:{ "code": 0, "message": "success", "data": { ... } }

错误响应示例:{ "code": 40000, "message": "参数 'name' 不能为空", "data": null }

2. 认证相关(4xx00 #

错误码 HTTP 状态码 消息模板 触发场景 建议操作
40100 401 未提供认证凭据 请求头缺少 Authorization 检查请求是否携带 Bearer <token>
40101 401 认证凭据无效或已过期 Token 格式错误、签名无效或已过期 重新获取有效 Token
40102 401 认证凭据已被吊销 Token 已被主动撤销或列入黑名单 联系管理员或重新登录
40103 401 不支持的认证方式 使用了系统未启用的认证方案 改用支持的认证方式(如 Bearer)

3. 权限相关(4xx03 #

错误码 HTTP 状态码 消息模板 触发场景 建议操作
40300 403 无权访问该资源 当前身份不具备目标资源的访问权限 确认角色权限或联系管理员
40301 403 操作被策略禁止 请求触发了访问控制策略限制(如 IP 白名单) 检查账号策略配置
40302 403 账户已禁用 账户被管理员冻结或停用 联系管理员申请恢复
40303 403 超出调用配额 API 调用次数或频率超过限制 等待配额重置或申请扩容

4. 参数相关(3xx003xx01 #

错误码 HTTP 状态码 消息模板 触发场景 建议操作
40000 400 请求参数校验失败 必填字段缺失、参数类型错误或格式不符合规范 核对 API 文档中的参数定义
40001 400 参数值超出允许范围 数值超出最大/最小值、字符串超长等 调整参数值至合法范围
40002 400 请求体格式错误 JSON 解析失败或 Content-Type 不正确 检查 JSON 语法和 Content-Type 头
40010 400 分页参数无效 page ≤ 0 或 page_size 超出上限 使用合法分页值(如 page≥1, page_size≤100)

5. 资源相关(3xx04 #

错误码 HTTP 状态码 消息模板 触发场景 建议操作
40400 404 资源不存在 请求的资源 ID 无效或已被删除 确认资源 ID 是否正确
40401 404 资源类型不存在 请求的端点或资源类型不被系统识别 检查请求路径和资源类型名称
40402 404 关联资源不存在 请求中引用的外键资源缺失 先创建关联资源或修正引用 ID

6. 冲突相关(3xx09 #

错误码 HTTP 状态码 消息模板 触发场景 建议操作
40900 409 资源已存在(唯一约束冲突) 创建时与已有资源的唯一字段重复 更换唯一标识或更新已有资源
40901 409 版本冲突(乐观锁失败) 资源的 version 字段与服务端不匹配 重新获取最新版本后重试
40902 409 状态冲突 当前资源状态不允许执行该操作 先将资源转换到允许的状态

7. 服务端错误(5xxxx #

错误码 HTTP 状态码 消息模板 触发场景 建议操作
50000 500 服务器内部错误 未预期的服务端异常 稍后重试;如持续出现请联系技术支持
50001 502 上游服务不可用 依赖的外部服务调用失败或超时 稍后重试;检查依赖服务状态
50002 503 服务暂时不可用 系统维护中或过载降级 等待后重试,指数退避
50003 504 上游服务超时 依赖的外部服务响应超时 简化请求或稍后重试

8. HTTP 状态码映射总览 #

HTTP 状态码 错误码范围 含义
200 0 成功
400 4000040099 请求参数错误
401 4010040199 认证失败
403 4030040399 权限不足
404 4040040499 资源未找到
409 4090040999 资源冲突
429 40303 请求频率超限
500 50000 服务端内部错误
502 50001 上游服务不可用
503 50002 服务不可用
504 50003 上游服务超时