接口實現版本管理的意義和最佳方法

API版本管理的重要性不言而喻,對於API的設計者和使用者而言,版本管理都有着非常重要的意義。下面會從WEB API 版本管理的角度提供幾種常見辦法:

首先,對於API的設計和實現者而言,需要考慮向後兼容性,但是隨着業務的發展或需求的變更往往會導致兼容性實現非常複雜,因此引入API版本管理將能解決這個尷尬。下面提供多個版本管理的API實現,不需要再爲了向後兼容性而絞盡腦汁。其次,對於API的使用者而言,也可以靈活選擇使用不同版本API,而不用擔心API的兼容性問題。

WEB API 版本化的五種方式:

方式一:利用URL

HTTP GET:
https://banbenguanli.com/api/...

方式二:利用用戶自定義的request header

HTTP GET:
https://banbenguanli.com/api/...
api-version: 2

方式三:利用content type

HTTP GET:
https://banbenguanli.com/api/...
Accept: application/vnd.banbenguanli.v2+json

方式四:利用content type,把版本號分離出來了

HTTP GET:
https://banbenguanli.com/api/...
Accept: application/vnd.banbenguanli+json; version=2.0

方式五:利用URL裏的parameter

HTTP GET:
https://banbenguanli.com/api/...

API版本控制策略

任何不斷髮展變化的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版本的控制,使得更容易在更短的時間內切換運行版本。點擊查看

clipboard.png

參考資料:

https://dzone.com/articles/wh...

https://cloud.tencent.com/dev...

https://blog.csdn.net/hengyun...

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章