VI. 接口的后向兼容性
并不是每个用户都会升级到最新版本
在 Github 上编辑大多数用户会在几周之内将应用更新至最新版本,但总会有一些用户不这么干。虽然原因很多,但大多数情况下这与他们设备的 iOS 系统版本有关,iOS 设备越老,用户可能越不会对系统进行更新。
你可以在第一代 iPad(2010)上安装及使用 Facebook 的 Messenger 应用。虽然不支持一些新功能,但由于有 API 版本控制存在,应用的核心功能依然可以使用。
API 版本控制的基础概念是不更新现有的 API,而是新增一个,让他们俩并行运行。
https://your-api.com/1.0/drivers.json
https://your-api.com/1.1/drivers.json
你可能最终还是需要关闭 API 或是对其做一些小改动。即使公司对稳定性有着很高要求,但有时候为了合规必须着手修改。这意味着你应该对 API 端点进行可查询编码,用以表示该 API 的状态。
https://your-api.com/1.0/status.json
https://your-api.com/1.1/status.json
状态 API 应该包含的信息有
- API 处于什么阶段?(如:测试,灰度,生产)
- API 是否已废弃?如果是,计划什么时间关闭?
- API 是否已经下线?如果是,是持续性的还是暂时性的?