System.Web.Http.Routing.UrlHelper在Web API 2中创建一个包含查询字符串的链接

时间:2014-11-11 18:59:19

标签: asp.net .net c#-4.0 asp.net-web-api2

使用WebAPI 2和属性路由时,对UrlHelper.Link的调用将返回带有查询字符串属性的路由URL。使用基于约定的路由时,相同的代码会按预期返回带斜杠的路径。

例如 -

属性路由:http://a.domain.com/api/foods?foodid=1

会议路线:http://a.domain.com/api/foods/1

在使用属性路由时,任何人都知道如何告诉UrlHelper不使用查询字符串吗?

我正在尝试将一些示例代码从复数视频转换为Web API 2.

您可以在此处获取我正在使用的代码:

https://github.com/PriceIsByte/WebAPI/tree/issue/1/attribute_routing

1 个答案:

答案 0 :(得分:0)

也许你已经找到了答案。这是我的。

您的路线中必须有可选参数,并且还要为其添加名称。在你的情况下,它将是这样的

[Route("{foodid?}", Name="Foo")]

这将解决它。