有没有办法指示WebApi在将路由值绑定到控制器的操作参数时忽略路由数据值(路由URL中的模式)?
示例:
有这个路线声明
routes.Map("RouteName", "/api/{v}/{controller}/{action}/{id}");
我希望忽略 {v} 模式,就像它不存在一样,例如这个网址
"/api/123/Testing/Customer/24"
将映射到下面的GetCustomer方法:
public class TestingController
{
[HttpGet, ActionName("Customer")]
public CustomerData GetCustomer(int id)
{
return ...
}
}
我不想在GetCustomer方法中添加 int v 参数,因为我不打算以任何方式使用它。我只是希望它出现在url中(不需要问为什么,我只是想知道它是否可行,无论是使用WebApi内置功能还是使用自定义扩展)
答案 0 :(得分:0)
WebApi似乎默认包含此功能。具体而言,将忽略routeTemplate中方法参数中没有等效参数的所有模板参数。
我在问题中给出的例子开箱即用。 v 模板参数将被忽略,并且url确实映射到所需的方法。