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版...