错误码
disaster-server 新接口推荐使用统一响应 envelope。旧接口或认证中间件可能仍返回 msg 字段,客户端应兼容。
响应 envelope
{
"code": 0,
"message": "OK",
"data": {},
"meta": {},
"trace_id": "..."
}
错误响应:
{
"code": 1000,
"message": "invalid request",
"data": null,
"meta": {},
"trace_id": "..."
}
业务错误码
| code | HTTP 状态 | 含义 | 处理建议 |
|---|---|---|---|
0 | 200 | 成功 | 读取 data 和 meta |
1000 | 400 | 请求参数错误 | 检查请求体、路径参数、查询参数 |
2001 | 401 | 未认证或 token 无效 | 重新登录或刷新 token |
2003 | 403 | 无权限 | 检查用户权限、Server RBAC、远端集群权限 |
3004 | 404 | 资源不存在 | 检查资源名、命名空间、集群和路由 |
3009 | 409 | 状态冲突 | 检查当前状态是否允许该操作 |
4000 | 502 | 上游错误 | 检查 Kubernetes API、Velero、对象存储或远端集群 |
5000 | 500 | 服务端内部错误 | 用 trace_id 查 server 日志 |
认证中间件响应
认证失败可能返回:
{
"code": 401,
"msg": "token is invalid"
}
客户端应同时兼容 message 和 msg 字段。
排障建议
400:先检查请求结构和字段名。401:检查 token 是否过期、是否携带Bearer前缀。403:检查用户权限、ServiceAccount、远端集群 RBAC。404:确认资源名和 API group/version。409:确认实例或操作状态机是否允许当前动作。502:优先检查 Kubernetes API、Velero、对象存储和网络。500:使用trace_id查 server 日志。