WEB API 管理

meluo
  • 216

API 如何管理?我们现在迭代比较快,两周一个版本,之前版本管理的策略 是 新版本把controller 拷贝一份,然后开发,现在迭代比较快,这种方式明显不合适了,那么我想问问你们是怎么做的

回复
阅读 1.3k
1 个回答
mghio
  • 438

我们常用的 API 的版本控制策略通常有 3 种。
第一种: 无版本模式,即平台的 API 永远只有一个版本,所有的用户都必须使用最新的 API,任何 API 的修改都会影响到平台所有的用户,甚至平台的整个生态系统。

第二种: 点对点模式,即平台的 API 版本自带版本号,用户根据自己的需求选择使用对应的 API,需要使用新的 API 特性,用户必须自己升级。

第三种: 兼容性版本控制模式,和无版本模式一样,平台只有一个版本,但是最新版本需要兼容以前版本的 API 行为。

首先,API 必须得有版本控制,否则对于使用方来说简直就是一个噩梦;其次要做到上面说的第三种(兼容性版本控制模式)其实也不太现实,我们在升级 API 的时候不可避免会出现无法兼容老版本的情况,因此最好能够综合考虑第二、三两种模式,可以提供一个统一的兼容版本入口,同时对于不能兼容历史版本的 API 保留历史版本,支持用户能够调用到历史版本的 API。老版本给使用方一个过渡期,到达一定时间后就删除老版本,新用户只能使用新版本,否则 API 版本多了之后,维护起来很麻烦。

以上是个人对 API 版本管理的一些思考,欢迎交流讨论。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏