BAD_USER_INPUT)统一使用 HTTP 200。请查看 errors 数组以了解具体发生了什么。在请求执行前就被拒绝的其他请求会使用其他状态码,例如超出请求速率时返回 429,查询与 schema 不匹配或超出查询成本限制时返回带有 GRAPHQL_VALIDATION_FAILED 的 400。无法解析的查询,或超出 token 限制的查询,会返回带有相同 GRAPHQL_VALIDATION_FAILED 代码的 500。这属于被拒绝的查询,而非服务器故障,因此不要重试。
错误结构
AUTH-*—— 身份验证与令牌问题BS-*—— 通用业务/校验错误GC-*—— 礼品卡操作VC-*—— 虚拟卡操作
领域错误代码
Fluz 使用带前缀的错误代码,以便你可以根据出错的子系统进行分支处理。
不在此列表中的代码将显示为通用的校验错误或服务器错误。
故障排查
- 检查
AUTH-*的作用域。 这几乎总是意味着令牌铸造时未包含所需的作用域;请铸造一个新令牌。 AUTH-0002在重试GC-*之前重新查询。 优惠和库存变化频繁——请获取最新优惠后重试。- 重试业务错误前先重新查询。
GC-0009(库存)等错误意味着当前状态已发生变化——不要使用过期不要重试校验错误。VC-*和BS-*这类具有4xx性质的代码,在你修正输入或余额之前,重试会得到相同的失败结果。 - 使用退避和抖动重试瞬时性服务器错误重试 5xx / 网络错误时使用抖动。 涉及资金变动的 mutation 会进行去重;请参见幂等性。