【问题标题】:System.Web.Http.Routing.UrlHelper creates a link with querystrings in Web API 2System.Web.Http.Routing.UrlHelper 在 Web API 2 中创建带有查询字符串的链接
【发布时间】:2014-11-11 18:59:19
【问题描述】:

使用 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

【问题讨论】:

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


    【解决方案1】:

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

    您的路由中必须有一个可选参数,并为其添加一个名称。在你的情况下,它会是这样的

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

    这样就解决了。

    【讨论】:

      猜你喜欢
      • 2018-04-13
      • 2017-05-01
      • 2020-12-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多