【发布时间】:2014-03-14 15:26:07
【问题描述】:
我有以下路由映射或WEB API
[Route("Foo/Id/{id=1}/bar")]
我想让 Id 像上面那样可选,但是从客户端不管我称之为什么路由都不匹配,我得到 404 我尝试像
Foo/Id//bar
但不起作用。如果参数不在末尾,有没有办法在 web api 中使用可选参数?
【问题讨论】:
-
另一种方法是拥有 2 条路线,并拥有您的资源,例如:
GetFooById(int id = 0)。两条路线都指向这一点。 -
我知道这样,但是如果可选参数的数量增加了,那就不可行了。在这种情况下,将有 n!路线。
-
你能提供更多关于你想要做什么的信息吗?
-
我有一个4个参数可选的方法,我想用它写一个属性路由。
-
您可以为选项参数提供默认值。 routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "Foo/Id/{id}/bar", 默认值: new { id = 0 } );
标签: routing asp.net-web-api asp.net-web-api2