Web Api路由冲突

时间:2015-01-22 21:09:00

标签: asp.net-mvc-4 asp.net-web-api asp.net-mvc-routing

参数类型存在web api配置问题。 我需要识别两种类型的参数,一种是int,另一种是boolean。在WebApi配置中,默认路由设置为"api/{controller}/{id}",当我解析整数时,它是正常的,但我还需要解析布尔参数。 所以,当我转到/api/controller/1 url时,我需要它转到带有int输入参数的Action,当我转到/api/controller/{true|false} url时,我需要它转到Action输入是boolean

任何解决方案? THX

1 个答案:

答案 0 :(得分:3)

使用Attribute Routing in Web Api 2Create a REST API with attribute routing中提及的RouteRoutePrefix过滤器属性。

由于我不知道你的api控制器及其方法的整个结构,我可以在这里为上面的属性添加两个例子。通常,我们放置Route属性来过滤与控制器相关的请求。你的问题可以是这样的:

[RoutePrefix("api/{controller}")]

为了过滤每个方法的特定请求,我们在每个方法之前使用Route属性,例如在您的问题中,它可能类似于boolean输入法的代码行:< / p>

[Route("{id:bool}")]

当我放置2个链接时,您需要了解一些使用所提及属性的规则。