之前有使用過MapRoute(參考)分版,效果也不錯,來到.net core 世界,想說來試試看其他
方法,於是就產生了這篇文章。過程中,體驗也是不錯。
使用nuget 安裝 aspnetcore.mvc.versioning 套件(參考)
安裝好後,先設計一個 action
controller 上面掛 ApiVersionw attr,此時網址可以這樣輸入 domain/home/index?api-version=1
後面的數字就是版號,試試看修改為 2
網址與結果
Route 中指定格式,如 api/v1/values or api/v2/values
修改路由
檢視結果
Route 中沒有指定格式,直接吃預設版本
先來看路由設計,沒有卦 ApiVersion attr
startup.cs 設定預設值
檢視網址
不是整個 API 改寫,而僅僅是調整或升級某個 action
來看HomeController 與 IndexAction 改寫,如下圖
可以看到 controller 上面掛 兩個 api 版本,而為了實現 index action 可以明確被
區分v1 或v2 呼叫,故在 IndexV2 方法上方,使用了 MapToApiVersion 特性,代
表版本2會呼叫IndexV2方法,以下是實際網址與結果
Version Format 支援日期格式
參考
沒有留言:
張貼留言