API版本管理的重要性不言而喻,对于API的设计者和使用者而言,版本管理都有着很是重要的意义。
首先,对于API的设计和实现者而言,须要考虑向后兼容性,可是随着业务的发展或需求的变动每每会致使兼容性实现很是复杂,所以引入API版本管理将能解决这个尴尬。此时能够提供多个版本的API实现,不须要再为了向后兼容性而绞尽脑汁。
其次,对于API的使用者而言,也能够灵活选择使用不一样版本API,而不用担忧API的兼容性问题。segmentfault
对API进行版本管理目前已经有许多成熟的作法,好比:将版本信息放在URL中,或者放在HTTP消息头中,甚至能够放在URL参数或者消息体中(将版本信息放在HTTP消息头里,版本信息做为URL参数或放在消息体中这三种方式无本质区别)。不一样的版本管理方式实现难易程度各异,各有利弊。设计模式
在基于Spring MVC(如Spring Boot)的项目中使用将版本信息放在URL中的方式进行版本管理,这样作是基于以下几点考虑:api
【参考】
http://www.javashuo.com/article/p-eyvotfrx-gx.html RESTful API版本控制策略
http://www.lexicalscope.com/blog/2012/03/12/how-are-rest-apis-versioned/ How are REST APIs versioned?
https://blog.csdn.net/hengyunabc/article/details/20506345 Web API 版本控制的几种方式
http://www.javashuo.com/article/p-byfmueen-kh.html 怎么作 Web API 版本控制?架构