1

如何向web api路由添加其他參數?我想補充一個參數的默認路由,並支持版本我API,某事像這樣:api/{version}/{controller}/{action}/{id}Web.Api路由附加參數到路由

我知道{控制器}映射自動與控制器名稱和{action}實現方法具的名稱,但什麼或怎麼可能到{version}映射?

p.s.是啊,聽起來很奇怪的問題,但...

+2

你需要實現一個新的控制器選擇器。有開源的實現。 –

回答

3

在你WebApiConfig.cs,你需要有 -

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

而當你執行值CONTROLER的getJSON行動 -

public string GetJson(string id) 
    { 
     return "me"; 
    } 

你得到下面的輸出 -

enter image description here

如果你想爲您的WebAPI端點版本,然後使用此namespaces approach。或者,您也可以使用Http header approach。或者簡單地route approach

+1

+1「route approach」,謝謝 – Lev

+1

謝謝,那正是我所需要的 – Levan