【分享】來試試優雅的管理和對比API接口版本

1、前言

一個項目中,隨着需求的變動或增長,API接口也會跟着變化,而若是項目發佈後,已使用的接口確定不能直接覆蓋更新,須要新增升級版本接口和新的版本對應,所以多個版本接口更替後,如何更優雅管理不一樣版本接口代碼,如何設計更直觀的接口文檔呈現給前端,這是後端工程師須要考慮的事情,下面分享一些接口版本管理的經驗。前端

2、接口代碼版本規範

考慮到接口從此必定會進行版本迭代,所以一開始開發的時候,就須要對代碼進行版本考量下的代碼目標架構。
1. 控制器目錄架構
後端

在controller下增長子集文件夾:controller/v1/……、controller/v2/……等等,初始版本的接口所有放在v1下。
2. 接口路由設計
架構

3. 不一樣版本控制器代碼分類依據
(1)在項目發佈前的全部代碼,都屬於v1版本代碼;
(2)發佈後,若是是新增長的需求,和已發佈v1版本接口需求不衝突,新增控制器或接口,仍然屬於v1版本代碼;
(3)發佈後,若是新增需求和v1已發佈版本接口衝突,爲了兼容老版本APP,必須在v2文件夾下新增控制器開發v2版本接口。
遵循以上分類原則,依次遞推,嚴格區分不一樣版本接口代碼,結合下一部分的接口文檔,利於不一樣版本接口更新維護。設計

3、不一樣版本接口文檔規範和對比

版本迭代的接口,若是寫在一塊兒,前端真的要瘋。最好能給前端一種從新開始的感受,歸零後,面對新接口,溝通起來新老接口文檔區別明顯,這就大大避免了無謂的撕逼。具體接口文檔規範以下:
版本控制

同時,有時候須要對比不一樣版本的接口信息,我一般用的是Eolinker上的版本管理功能,能夠清楚記錄並讓我看到各個版本的接口信息對比,直接註冊就能夠在網頁上用,貼在下面
www.eolinker.com
blog

相關文章
相關標籤/搜索