跳转到主要内容
AnySport 的错误码体系刻意保持精简,只有三种 HTTP 状态码,分别对应三类性质完全不同的问题。理解这三类问题的本质区别,能帮你设计出更健壮的客户端重试与容错逻辑。

各错误码的处理建议

这类错误意味着你的请求参数不满足接口要求,比如漏传了某个条件必填参数(例如按 league_id 查 /matches 却没带 season)、参数类型不对,或者分页参数超出合法范围。处理建议:不要重试同一个请求——重试只会得到相同的错误。应该根据 error.message 或对照接口文档的入参表,修正参数后再发起请求。这类错误通常在开发/联调阶段就应该被发现并消灭。
常见于详情类接口,比如某场比赛暂时没有阵容数据(/lineups)或还没开始因此没有态势数据(/matches/{match_id}/situation)。这不代表你的请求有误,只是该资源在当前时间点确实不存在。处理建议:在业务层面上把它当作”暂无数据”处理(比如前端展示”暂无阵容信息”),而不是当作系统错误上报。对于实时性较强的资源(如临近开赛前的阵容),可以考虑稍后重试。
服务端处理请求时发生了非预期的错误,与你的请求内容无关。处理建议:这是唯一建议做自动重试的错误类型,推荐采用指数退避策略(例如 1s → 2s → 4s,设置重试上限)。如果重试后依旧持续出现,请联系技术支持,并附上出错请求的 traceId(见 响应格式)。
失败响应的完整结构(success / error.code / error.message)详见 响应格式。