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 版本控制?架構