API(应用程序编程接口)版本控制有助于改善接口并确保在进行更改时向后兼容,以便外部和内部客户在每次更新时不会崩溃。
主要的版本控制方案有:
/api/v1/resource。Accept: application/vnd.company.v1+json。/api/resource?version=2。通常使用URL中的版本的方式,因为它对所有客户来说都是清晰和透明的。
Node.js(Express)的示例:
// 版本1 app.get('/api/v1/orders', ordersV1Handler); // 版本2 app.get('/api/v2/orders', ordersV2Handler);
关键特点:
仅仅支持最新版本的API就够了吗?
不,旧应用程序的用户可能无法迅速切换到新接口,因此通常会支持多个最新版本。
可以在API的次要版本中加入不兼容的变更吗?
不,次要版本必须与之前的版本严格兼容。破坏性变更需要更改主要版本。
版本控制方式(URL、头部、参数)对API的安全性或性能有影响吗?
没有,版本存储的位置本身不会影响技术特性,但URL版本控制更易于通过监控和支持工具进行分析。