快速开始

错误处理

API 错误码和错误响应格式

错误响应格式

当请求失败时,API 返回以下格式:

{
  "success": false,
  "code": "VALIDATION_ERROR",
  "message": "验证失败",
  "data": null,
  "errors": {
    "email": "邮箱格式不正确"
  },
  "timestamp": "2026-01-15T08:30:00Z"
}

HTTP 状态码

状态码说明
200请求成功
201资源创建成功
204资源删除成功
400请求参数错误
401未认证或 Token 过期
403无权限访问
404资源不存在
409资源冲突
415不支持的媒体类型
429请求频率超限
500服务器内部错误
503服务不可用

401 处理

当收到 401 响应时:

  1. 尝试使用 refreshToken 刷新 Access Token
  2. 使用新的 Token 重试原始请求
  3. 如果刷新也失败,引导用户重新登录

400 请求参数错误

当提交的字段验证失败时,errors 对象包含每个字段的错误信息:

{
  "success": false,
  "code": "VALIDATION_ERROR",
  "message": "验证失败",
  "errors": {
    "password": "密码长度至少 8 个字符"
  }
}

TypeScript 辅助函数

@momohub/types 包提供了错误处理辅助函数:

import { getApiErrorMessage, getApiErrorCode } from '@momohub/types'

try {
  const res = await $fetch('/characters', { method: 'POST', body })
} catch (error) {
  const message = getApiErrorMessage(error, '操作失败')
  const code = getApiErrorCode(error)
  console.error(`[${code}] ${message}`)
}