如何優雅的管理不同版本的API介面

2021-08-31 23:27:01 字數 753 閱讀 7961

api版本管理方式多種多樣

序號版本管理方式

簡要說明

1網域名稱區分管理

不同版本使用不同網域名稱,v1.api.amap.com,v2.api.amap.com

2請求url path區分管理

同一網域名稱,api.amap.com/v1/,api.amap.com/v2/

3請求引數區分管理

同一網域名稱,請求引數中帶version=v1/v2/v3等,然後識別具體版本執行對應方法

各方式的優缺點

序號版本管理方式

優點缺點

1網域名稱區分管理

1、採用多應用部署,不同版本介面完全隔離;2、部署在乙個應用上,通過網域名稱識別進行分發

1、函式不能復用;2、函式能復用

2請求url path區分管理

可以建立不同的controllers,功能水平擴充套件,不影響老版本

3請求引數區分管理

功能水平擴充套件,不影響老版本

版本管理的一點思考

api日常介面變更不可避免,但若變更太頻繁,就要思考最初的需求是不是有問題,變更api版本的目的是什麼,每個版本使用使用者都不同等等方面的問題;

如果不同版本的api僅是功能更強大了,比如原來不支援附件上傳,新版本支援附件上傳,這種場景的api版本變更就沒意義,更合理的是單獨發布乙個附件上傳的介面,降低功能間的耦合。

在開發介面時始終要記住一點:盡量將功能的顆粒度降到最低(需求分析、模組設計階段),不要做多功能融合的介面。參考

如何優雅的管理APP多個介面版本

直接在controllers資料夾下增加對應版本號的資料夾,然後將controller檔案放到對應的資料夾下。訪問形式 http com v1 mobile controller v1 mobilecontroller.php showcontroller.php controller v2 mob...

分享 來試試優雅的管理和對比API介面版本

乙個專案中,隨著需求的變更或增加,api介面也會跟著變化,而如果專案發布後,已使用的介面肯定不能直接覆蓋更新,需要新增公升級版本介面和新的版本對應,因此多個版本介面更替後,如何更優雅管理不同版本介面 如何設計更直觀的介面文件呈現給前端,這是後端工程師需要考慮的事情,下面分享一些介面版本管理的經驗。考...

如何更優雅管理API介面版本(v1 v2 v3 )

一 前言 二 介面 版本規範 考慮到介面今後一定會進行版本迭代,因此一開始開發的時候,就需要對 進行版本考量下的 目標架構。1.控制器目錄架構 在controller下增加子集資料夾 controller v1 controller v2 等等,初始版本的介面全部放在v1下。2.介面路由設計 v1版...