API版本管理的重要性不言而喻,对于API的设计者和使用者而言,版本管理都有着很是重要的意义。下面会从WEB API 版本管理的角度提供几种常见办法:json
首先,对于API的设计和实现者而言,须要考虑向后兼容性,可是随着业务的发展或需求的变动每每会致使兼容性实现很是复杂,所以引入API版本管理将能解决这个尴尬。下面提供多个版本管理的API实现,不须要再为了向后兼容性而绞尽脑汁。其次,对于API的使用者而言,也能够灵活选择使用不一样版本API,而不用担忧API的兼容性问题。api
方式一:利用URLapp
HTTP GET:编辑器
banbenguanli.com/api/v2/user…工具
方式二:利用用户自定义的request header测试
HTTP GET:.net
banbenguanli.com/api/useraco…设计
api-version: 2版本控制
方式三:利用content typecdn
HTTP GET:
Accept: application/vnd.banbenguanli.v2+json
方式四:利用content type,把版本号分离出来了
HTTP GET:
Accept: application/vnd.banbenguanli+json; version=2.0
方式五:利用URL里的parameter
HTTP GET:
任何不断发展变化的API都须要API版本控制策略。API版本能够适应根据API使用者的指望而切换不一样版本变得有所不一样。建议将如下API版本控制策略做为总体API管理系统的一部分。
1.若是API处于早期测试版本,为了得到消费者的反馈,请创建API各类可能发生的指望。在此阶段内,你会保留这个版本一段时间,由于你的API设计可能还会更改。做为消费者,API是不稳定的,所以他们应该预期到可能会发生的变化。
2.一旦发布,API应被视为契约,若是没有新版本,则不能被替换。
3.突破性的变化意味着客户必须迁移到新版本,请与API使用者沟通更新日期,以确保他们能方便地迁移到新版本。但在某些状况下,新版本的迁移不会立刻实现,所以之前的API版本会被继续使用一段时间。
使用工具和技术能够从根本上实现API版本控制过程。用市场上优秀的API编辑器将使技术开发团队可以在更短的时间内生成并切换更多的API版本,从而不断改进设计决策。
结合工具进行版本控制是大多数开发过程的重要组成部分。API设计领域中也有这种能版本控制的工具,实际上,全球范围内API服务领域中已经存在一些优秀的Web API设计工具。
如今,如EOLINKER、RAML、Swagger,都提供了出色的编辑工具来支持他们的语言。EOLINKER采用的是版本对比和重点标注提示,能够清晰的切换、对比。RAML、Swagger采用的是版本切换,方便程度可能略逊一点。并且只有前者是支持中文的,后两种只支持英文语言。这些API编辑器都能轻松地实现API版本的控制,使得更容易在更短的时间内切换运行版本。点击查看。
参考资料: