API 的多版本管理,如何在 Apifox 中操作?

开放 API 是技术团队向外部提供服务和数据的关键手段。随着业务的发展和技术的更新,API 也需要不断进行版本迭代。这种迭代通常是为了满足市场需求,优化现有功能,增加新特性,或者修复漏洞。
在多个版本共存的情况下,团队需要确保每个版本都能满足不同用户的需求。例如,某些用户可能需要使用最新版本的 API 来获取最新的功能,而另一些用户则可能依赖于旧版本的稳定性。
在实际应用中,团队可能需要同时向外部提供多个版本的 API,如最新版、稳定版、或长期维护版等。这样可以保证不同用户群体在使用 API 时的兼容性和稳定性,减少因版本升级对旧版用户造成的影响。
基于这样的场景,Apifox 推出了实用的「API 版本」功能。通过该功能,团队可以轻松创建、管理和维护不同版本的 API,确保每个版本的 API 都能独立运作,并与其他版本保持清晰的区分。

下面就来介绍一下 Apifox 中「API 版本」的使用,在使用该功能之前,请确保将 Apifox 更新到了最新版!
创建 API 版本
进入项目后,点击项目目录上方的分支切换组件,选择「API 版本」,即可查看当前项目的所有 API 版本。点击「新建 API 版本」,可为其命名并选择初始内容。

保存后,系统会自动切换到新版本。你可以独立编辑这个版本中的资源,这些修改不会影响原来的版本。

在公开文档中发布 API 版本
在项目中创建 API 版本后,你可以进入「分享文档 -> 发布设置」页面,选择你想要发布的 API 版本。发布设置完成后,所选 API 版本会在项目的公开地址中展示,外部用户可以通过该地址进行访问。

点击「添加」按钮,选择你想发布的 API 版本,可以设置版本的来源、显示版本号、运行环境以及 Slug。
例如,在
https://example.apifox.cn/2-0-0
这个地址中,2-0-0
就是 API 版本的 Slug,外部用户可以通过该网址直接访问指定的 API 版本。Slug 确保每个 API 版本都有一个唯一且清晰的访问路径,帮助用户轻松找到和访问不同版本的 API 文档。
在发布设置中,你可以调整发布版本的顺序。排在第一位的版本将成为默认版本,用户通过项目地址访问时,默认查看这个版本的内容。

完成设置后点击「发布」,整个项目的发布状态将变为「已发布」。这样,外部用户可以通过 Apifox 的项目地址访问文档,查看和切换不同的 API 版本内容。

快捷分享 API 版本中的接口
除了公开发布 API 版本,你还可以快捷分享某个 API 版本中的接口。

在创建分享链接时,选择要分享的 API 版本和具体的接口范围。

生成分享链接后,外部用户通过这个链接即可查看你指定的 API 版本中的接口内容。

删除 API 版本
你可以在主分支的「项目设置 -> API 版本」中删除已经创建的 API 版本。

删除后,公开发布的文档将不再包含这个版本的内容,并且与该版本相关的快捷分享链接也会失效,用户将无法再通过这些链接访问已删除的版本内容。

常见问题解答
Q:API 版本和迭代分支有什么区别?
API 版本:主要用于对外发布。当接口发生较大变更且新旧版本不兼容时,建议创建新版本。API 版本包含完整的接口集合。
迭代分支:主要用于团队内部的开发迭代。每次迭代都创建一个分支,迭代完成后合并到主分支。迭代分支通常只包含本次迭代新增和改动的接口。
Q:所有类型的接口都支持 API 版本功能吗?
目前只支持 HTTP 接口。
Q:谁可以创建、修改 API 版本?
项目管理员和项目编辑者。
Q:谁可以发布、删除 API 版本?
项目管理员。
Q:接口关联的资源发生变更后,会跟着改变吗?
不会。每个 API 版本内的资源都是独立的。
Q:是否有计划支持更多功能,如多语言支持?
是的,我们正在积极开发多语言、跨分支/版本拉取等功能。这些功能将在后续的版本中上线,以进一步提升 API 文档的管理效率,满足更多用户的需求。
同时,我们迭代分支的能力也在升级中,后续会在迭代分支中逐步支持:从其它分支复制资源、Pick 其它分支资源、分支合并评审、分支锁定等功能,敬请期待!
总结
通过 Apifox 提供的 API 版本功能,团队能够高效创建和管理多个 API 版本,确保在引入新功能的同时保持旧版本的稳定性,满足不同用户需求。更多详细的功能介绍请参考帮助文档的 API 版本模块进行查看。
欢迎各位用户对 Apifox 继续提出使用反馈和优化意见,我们会持续优化更新,致力于为用户提供更优秀的产品功能和更极致的使用体验!
可以前往帮助文档查看更多功能使用说明和操作,有任何问题欢迎在 Apifox 用户群与我们交流沟通。