状态码与错误

DCG API 使用的标准 HTTP 状态码,以及统一的错误响应格式。

DCG API 用标准 HTTP 状态码表达结果,错误体是统一的 JSON 结构。

状态码

含义常见场景
200OK读取成功
201Created资源已创建(如报告)
202Accepted异步任务已入队(如扫描)
400Bad Request请求体校验失败
401Unauthorized没带 token 或 token 过期
403Forbidden角色无权限,或额度用满
404Not Found资源不存在
409Conflict状态冲突(如重复确认)

错误响应

错误体遵循 FastAPI 约定:

json
{
  "detail": "Datasource not found"
}

校验类错误(400 / 422)的 detail 是数组,逐项指出哪个字段不合法:

json
{
  "detail": [
    {
      "loc": ["body", "field_ids"],
      "msg": "ensure this value has at most 500 items",
      "type": "value_error.list.max_items"
    }
  ]
}
先看 401 还是 403

401 是"你是谁不确定"——多半 token 过期,去刷新。403 是"知道你是谁,但不让"——角色权限或许可额度问题,刷新 token 没用。