API 如何管理?我们现在迭代比较快,两周一个版本,之前版本管理的策略 是 新版本把controller 拷贝一份,然后开发,现在迭代比较快,这种方式明显不合适了,那么我想问问你们是怎么做的
API 如何管理?我们现在迭代比较快,两周一个版本,之前版本管理的策略 是 新版本把controller 拷贝一份,然后开发,现在迭代比较快,这种方式明显不合适了,那么我想问问你们是怎么做的
15 回答8.4k 阅读
8 回答6.2k 阅读
4 回答4.4k 阅读✓ 已解决
4 回答4k 阅读
1 回答2.9k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
2 回答1.5k 阅读✓ 已解决
我们常用的 API 的版本控制策略通常有 3 种。
第一种: 无版本模式,即平台的 API 永远只有一个版本,所有的用户都必须使用最新的 API,任何 API 的修改都会影响到平台所有的用户,甚至平台的整个生态系统。
第二种: 点对点模式,即平台的 API 版本自带版本号,用户根据自己的需求选择使用对应的 API,需要使用新的 API 特性,用户必须自己升级。
第三种: 兼容性版本控制模式,和无版本模式一样,平台只有一个版本,但是最新版本需要兼容以前版本的 API 行为。
首先,API 必须得有版本控制,否则对于使用方来说简直就是一个噩梦;其次要做到上面说的第三种(兼容性版本控制模式)其实也不太现实,我们在升级 API 的时候不可避免会出现无法兼容老版本的情况,因此最好能够综合考虑第二、三两种模式,可以提供一个统一的兼容版本入口,同时对于不能兼容历史版本的 API 保留历史版本,支持用户能够调用到历史版本的 API。老版本给使用方一个过渡期,到达一定时间后就删除老版本,新用户只能使用新版本,否则 API 版本多了之后,维护起来很麻烦。
以上是个人对 API 版本管理的一些思考,欢迎交流讨论。