Skip to content

错误码参考

所有错误响应均包含 code 字段,可在本页按错误码查阅完整说明。

每个错误码标题均可作为锚点直接访问,例如 AUTH_TOKEN_INVALID

retryable: true 表示该错误由临时性故障引起,客户端可在等待后重试。

400 — 参数验证 / 请求格式错误

CLIENT_PARAMS_VALIDATION_FAILED

HTTP 400 · 不可重试

请求参数验证失败

请求参数不符合 Schema 约束,details 字段包含各字段的具体错误信息

排查建议

参考响应中 details 字段的字段级错误列表,逐项修正参数后重试

401 — 认证失败

AUTH_CREDENTIALS_INVALID

HTTP 401 · 不可重试

用户名或密码错误

提供的账号或密码不匹配任何已知账户,请检查后重试

排查建议

检查用户名/邮箱拼写及大小写是否正确,并确认密码与注册时一致

AUTH_TOKEN_INVALID

HTTP 401 · 不可重试

Token 无效或已过期

提供的 Token 格式不正确、签名验证失败或已过期,请重新登录

常见触发原因

  • Token 已超过有效期
  • Token 签名与服务器密钥不匹配
  • Token 格式不符合 JWT 规范

排查建议

调用 POST /auth/refresh-token 使用刷新令牌换取新的访问令牌,或重新登录

AUTH_TOKEN_MISSING

HTTP 401 · 不可重试

缺少访问令牌

请求头中未提供有效的 Bearer Token,请先登录

排查建议

在请求头中添加 Authorization: Bearer <accessToken>,令牌可通过 POST /auth/loginPOST /auth/register 获取

404 — 资源不存在

DB_RECORD_NOT_FOUND

HTTP 404 · 不可重试

记录不存在

数据库查询目标记录不存在或已被删除

EXCEPTION_CATALOG_CODE_NOT_FOUND

HTTP 404 · 不可重试

该错误码不存在

请求的错误代码在目录中不存在,请检查后重试

409 — 资源冲突

AUTH_USER_DUPLICATE

HTTP 409 · 不可重试

用户已存在

该邮箱或用户名已被注册,请更换后重试

常见触发原因

  • 该用户名已被其他账户使用
  • 该邮箱已被其他账户注册

排查建议

使用不同的用户名和邮箱重新注册,或通过登录接口找回已有账户

DB_UNIQUE_VIOLATION

HTTP 409 · 不可重试

数据唯一性约束冲突

数据库写入/更新失败:唯一性约束(如主键、唯一索引)已被违反

429 — 请求频率限制

CLIENT_REQUEST_RATE_LIMIT_EXCEEDED

HTTP 429 · ✅ 可重试

请求过于频繁,请稍后重试

客户端请求频率超过服务端设定的速率限制,请遵循响应头 Retry-After 等待后重试

常见触发原因

  • 短时间内发送了超过服务端限流阈值的请求

排查建议

遵循响应头 Retry-After 字段指示的等待时间后重试

500 — 服务器内部错误

DB_QUERY_FAILED

HTTP 500 · ✅ 可重试

数据库查询失败

数据库查询执行失败,可能由连接超时、语法错误或事务冲突引起

SYS_HTTP_UNEXPECTED_ERROR

HTTP 500 · 不可重试

未预期的 HTTP 异常

包装未预期的 HTTP 异常,提供对 NestJS 框架抛出的内置 HttpException 异常类型的统一包装,状态码与日志级别由运行时决定

SYS_SERIALIZATION_ERROR

HTTP 500 · 不可重试

响应序列化失败

服务器在序列化响应数据时失败,通常是 Response DTO 定义与 Service 返回值不一致

SYS_UNEXPECTED_ERROR

HTTP 500 · 不可重试

未预期的服务器内部异常

服务器遭遇未预期的异常,该异常不由客户端行为引起,请联系开发团队