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版本的控制,使得更容易在更短的時間內切換運行版本。點擊查看。
參考資料: