如何在web api路由中添加其他参数?我想在默认路由中添加一个参数,并支持对我的API进行版本控制,如下所示:api/{version}/{controller}/{action}/{id}
我知道{controller}已自动映射 控制器名称和{action}
方法名称,但是{version}
映射的内容是什么?
P.S。是的,听起来非常奇怪的问题,但是......
答案 0 :(得分:3)
在您的WebApiConfig.cs中,您需要 -
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{version}/{controller}/{action}/{id}",
defaults: new { version = 1, id = RouteParameter.Optional }
);
当你执行值controler getjson action -
时 public string GetJson(string id)
{
return "me";
}
您获得以下输出 -
如果要对WebAPI端点进行版本控制,请使用此namespaces approach。或者,您也可以使用Http header approach。或者只是route approach。