【问题标题】:How to map query parameters with dashes in their names如何使用名称中的破折号映射查询参数
【发布时间】:2016-04-08 03:21:34
【问题描述】:

有没有办法将查询字符串参数my-param映射到Web API 2中的控制器方法参数myParam(最好使用属性路由)?

这意味着一个类似...的URI

library.com/books?search-text=REST

...应该路由到控制器方法

[HttpGet, Route("books/{search-text?}")]
public IEnumerable<Book> Get(string searchText = "") { ... }

这可能吗? Microsoft documentation 没有提供这种情况的示例。但它也没有为路由参数提供某种语法,因此我不确定它是否详尽。

【问题讨论】:

    标签: c# routes asp.net-web-api2 attributerouting


    【解决方案1】:

    您可以按如下方式使用[FromUri] 属性:

    [FromUri(Name = "search-text")]

    您的评论离您不远了。如果您需要将此作为约定,您可以在 Web API 中创建自己的参数绑定:

    http://www.asp.net/web-api/overview/formats-and-model-binding/parameter-binding-in-aspnet-web-api

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-08-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-04
      • 2017-10-16
      • 2014-06-09
      • 2011-11-05
      相关资源
      最近更新 更多