错误处理 API
| HTTP 状态 | 含义 | 处理建议 |
|---|---|---|
400 | 请求格式错误 | 检查 JSON 和必填字段 |
401 | 缺少或无效的访问令牌 | 重新换取 Access Token |
403 | 工程或模型无权限 | 确认 Project Key 和模型归属 |
404 | 资源不存在或不可见 | 检查 modelId、taskId |
409 | 当前状态不允许操作 | 先查询模型状态 |
413 | 文件或额度超限 | 检查文件大小和工程额度 |
422 | 参数校验失败 | 根据错误字段修正请求 |
429 | 请求频率过高 | 使用退避重试 |
5xx | 平台暂时不可用 | 按幂等规则有限重试 |
错误响应通常包含消息字段:
{ "error": { "code": "MODEL_NOT_FOUND", "message": "model not found" } }
| 返回参数 | 类型 | 说明 |
|---|---|---|
error.code | string | 稳定的机器可读错误码,可能为空 |
error.message | string | 面向开发者的错误说明 |
JavaScript
if (!response.ok) {
const body = await response.json().catch(() => ({}));
throw new Error(body.error?.message ?? `HTTP ${response.status}`);
}
Python
if not response.ok:
detail = response.json().get("error", {})
raise RuntimeError(detail.get("message", f"HTTP {response.status_code}"))
Java
if (response.statusCode() / 100 != 2) {
throw new RuntimeException("API request failed: " + response.statusCode());
}
curl
curl --fail-with-body "$TUO_API_BASE_URL/v1/models/$MODEL_ID/result" \
-H "Authorization: Bearer $TUO_ACCESS_TOKEN"