如何向web api路由添加其他參數?我想補充一個參數的默認路由,並支持版本我API,某事像這樣:api/{version}/{controller}/{action}/{id}
Web.Api路由附加參數到路由
我知道{控制器}映射自動與控制器名稱和{action}
實現方法具的名稱,但什麼或怎麼可能到{version}
映射?
p.s.是啊,聽起來很奇怪的問題,但...
如何向web api路由添加其他參數?我想補充一個參數的默認路由,並支持版本我API,某事像這樣:api/{version}/{controller}/{action}/{id}
Web.Api路由附加參數到路由
我知道{控制器}映射自動與控制器名稱和{action}
實現方法具的名稱,但什麼或怎麼可能到{version}
映射?
p.s.是啊,聽起來很奇怪的問題,但...
在你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";
}
你得到下面的輸出 -
如果你想爲您的WebAPI端點版本,然後使用此namespaces approach。或者,您也可以使用Http header approach。或者簡單地route approach。
你需要實現一個新的控制器選擇器。有開源的實現。 –