EZ-API Response Envelope 规范
本文档定义响应信封结构及业务码表。HTTP 状态码保留用于传输层语义。
Envelope 结构
| 字段 |
类型 |
必填 |
说明 |
code |
number |
✅ |
业务码,0=成功,非0=错误 |
message |
string |
✅ |
成功时 "success",错误时具体描述 |
data |
object/array/null |
✅ |
成功时返回业务数据,错误时为 null |
trace_id |
string |
✅ |
请求追踪 ID,复用 X-Request-ID 或自动生成 |
details |
object/null |
❌ |
可选,错误时的补充信息(如字段级校验错误) |
业务码表
码段划分
| 范围 |
类别 |
说明 |
| 0 |
成功 |
请求成功 |
| 1000-1999 |
通用错误 |
参数错误、认证失败等通用场景 |
| 4000-4999 |
客户端错误 |
业务级客户端错误 |
| 5000-5999 |
服务端错误 |
服务端内部错误 |
通用错误 (1xxx)
| Code |
名称 |
HTTP Status |
说明 |
| 1001 |
invalid_param |
400 |
参数校验失败 |
| 1002 |
unauthorized |
401 |
未认证或认证失效 |
| 1003 |
forbidden |
403 |
无权限访问 |
| 1004 |
rate_limited |
429 |
请求频率超限 |
客户端错误 (4xxx)
| Code |
名称 |
HTTP Status |
说明 |
| 4001 |
resource_not_found |
404 |
资源不存在 |
| 4002 |
resource_conflict |
409 |
资源冲突(如重复创建) |
| 4003 |
invalid_state |
400 |
资源状态不允许此操作 |
服务端错误 (5xxx)
| Code |
名称 |
HTTP Status |
说明 |
| 5001 |
internal_error |
500 |
服务器内部错误 |
| 5002 |
service_unavailable |
503 |
服务暂不可用 |
| 5003 |
timeout |
504 |
请求超时 |
示例
成功响应
错误响应(简单)
错误响应(带 details)
客户端处理指南
- 判断成功/失败:检查
code === 0
- 获取业务数据:成功时从
data 读取
- 展示错误信息:使用
message 字段
- 排查问题:记录/上报
trace_id
- 字段级错误:检查
details 是否存在
不包装的端点
以下端点不使用 envelope 包装:
- Swagger UI (
/swagger/*)
- 健康检查 (
/health)
- Metrics (
/debug/vars, /internal/metrics)
- CORS preflight