跳转到主要内容
为了让不同接口的客户端解析逻辑保持一致,AnySport 所有 REST 接口都返回同一种信封结构。无论你请求的是国家列表还是单场比赛详情,最外层字段永远是 success / data / meta / traceId 这几个,只有 data 内部的业务结构因接口而异。这意味着你可以在客户端封装一个统一的响应解析层,而不必为每个接口单独写判断逻辑。

成功响应

data 的形态取决于接口类型

  • 列表类接口(如 /countries、/matches、/players):data 是数组,即使只有一条结果也会包成数组。
  • 详情类接口(如 /matches/{match_id}/situation、/lineups):data 是单个对象。
具体某个接口 data 里包含哪些字段,请查阅该接口自己的文档页;这里只约定外层信封的通用结构。

分页字段怎么用

支持分页的接口,meta 中会带上 page(当前页码,从 1 开始)、limit(本页条数上限)与 total_pages(总页数,由 total 和 limit 计算得出)。翻页逻辑很直接:
当 page 超出 total_pages 时,data 会返回空数组而不是报错,客户端据此判断是否已翻到最后一页。
traceId 是每次请求的唯一追踪 ID。遇到数据异常或需要联系技术支持时,请一并提供对应请求的 traceId,可以大幅加快问题定位速度。

失败响应

请求失败时,success 为 false,业务数据字段被替换为 error 对象:
客户端应优先依据 HTTP 状态码 + error.code 做分支处理,而不是解析 error.message 的文本内容——message 的具体措辞可能会调整,但 code 保持稳定。
具体每个错误码对应的 HTTP 状态与触发场景,见 错误码。