我有以下路由映射或WEB API
[Route("Foo/Id/{id=1}/bar")]
我想让Id在上面可选,但是从客户端来说无论我称之为路线不匹配我都得到404
我尝试过这样的事情
Foo/Id//bar
但是不起作用.如果参数不在最后,是否可以使用web api的可选参数?
解决方法
您无法在URL中使用//.
制作您想要的东西的唯一方法是为一个端点映射2条路线.
为了考试
制作您想要的东西的唯一方法是为一个端点映射2条路线.
为了考试
config.Routes.MapHttpRoute( name: "BarRoute",routeTemplate: "Foo/Id/{id}/bar",defaults: new { controller = "Foo" }); config.Routes.MapHttpRoute( name: "BarDefaultRoute",routeTemplate: "Foo/Id/bar",defaults: new { controller = "Foo" });