簡體   English   中英

Web-API的路由配置

[英]Routing Config for Web-API

我正在使用.Net 4.5.2創建Web-API服務。

我想要以下URI:

  • / API / V1 /時間序列/ {ID}
  • / API / V1 /時間序列/核准/ {ID}

有了這個,我希望有兩個控制器:

  • TimeSeriesController
  • TimeSeriesApprovalController

使用如下所示的默認路由,我實現了第一個期望的結果( /api/v1/timeseries/{id} ),但是我不確定如何實現第二個結果。 有人可以告訴我如何修改路由配置以處理第二個URI嗎?

public static void Register(HttpConfiguration config)
{
    // Web API configuration and services

    // Web API routes
    config.MapHttpAttributeRoutes();

    config.Routes.MapHttpRoute(
        name: "DefaultApi",
        routeTemplate: "api/v1/{controller}/{id}",
        defaults: new { id = RouteParameter.Optional }
    );
}

一種選擇是使用您現有的路由,並使用如下網址:

/api/v1/timeseriesapproval/{id}

請注意,這完全符合您現有的路線:

"api/v1/{controller}/{id}",

controller匹配timeseriesapproval

另一種選擇是針對此需求設置新的路由(在您現有路由之前):

config.Routes.MapHttpRoute(name: "PutThisBeforeYourExistingOneApi",
    routeTemplate: "api/v1/timeseries/approval/{id}",
    defaults: new { controller = "TimeSeriesApproval", id = RouteParameter.Optional } );

暫無
暫無

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

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