簡體   English   中英

URL中版本WEB API的簡單而可靠的方法?

[英]easy and robust way to version WEB API in the url?

目標:/ v1 // whatever / path / here。 我對ASP.Net Web API框架還很陌生,一開始我覺得任務很容易。 所以我最終得到了:

public override HttpControllerDescriptor SelectController(HttpRequestMessage request) {
        var requestedVersion = ExtractOnlyVersionDigits(request);
        var currentVersionControllers =
            SelectControllersOfRequestedVersion(requestedVersion);
        if (currentVersionControllers.Count() > 0) {
            var appropriateController = currentVersionControllers.First(); // yeah, that is stupid, I know that
            return new HttpControllerDescriptor(
                _configuration,
                appropriateController.Name,
                appropriateController);

    }

經過4個小時的編碼,我意識到除非手動映射它們,否則乘法控制器將無法使用。

所以我的問題是:1)我濫用這個框架嗎? 2)有沒有簡單的方法可以重用現有功能? 3)如果沒有,如何在不聲明[RoutePrefix]或whatisit的情況下,在每個控制器/動作上強制執行我的版本映射?

Scott Hanselman撰寫了一篇很好的文章,介紹ASP.NET的版本控制API

http://www.hanselman.com/blog/ASPNETCoreRESTfulWebAPIVersioningMadeEasy.aspx

也許值得一看,而不是嘗試自己發展? :-)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM