API 统一错误码设计(免费版)
输入
| 字段 | 必填 | 说明 |
|---|---|---|
| http_status | 是 | 400/401/404/429/500… |
| method | 是 | GET/POST/PUT/DELETE |
| biz_code/message | 否 | 自定义业务码与文案 |
| trace_id | 否 | 链路ID,必透传便于排查 |
输出
业务错误码 + 是否可重试 + 统一错误响应体
可重试判定
- 可重试:408、429、500、502、503、504(瞬时/限流/下游故障)。
- 不可重试:400/401/403/404/409/422(请求本身有错,重试无意义)。
- 非幂等 POST 默认不自动重试,仅 429(限流)、503(暂不可用)例外,避免重复下单。
硬性规则
- 错误体必须含 code/http/message/trace_id,success 恒为 false。
- 业务码分段:BIZ_ 业务类、SYS_ 系统类、AUTH_ 鉴权类。
- 不向前端暴露堆栈/SQL/内部地址,detail 仅放可公开信息。
- 未知HTTP码回落 BIZ_UNKNOWN,不抛异常。
示例
GET 收到503 → 可重试
POST 下单收到500 → 不自动重试(防重复下单)
404 → code=BIZ_NOT_FOUND,不可重试