我正在构建一组Web API,这些API以JSON格式返回数据。外部应用程序执行http(GET)请求,如下所示:
这是管理http请求的方法:
[HttpGet]
[Route("search")]
public IHttpActionResult GetItems(string qualifier, IEnumerable<Dictionary<string, string>> sort)
{
Does something;
}
这是问题:qualifier
参数正确赋值时,sort
(查询字符串中的方括号表示法)参数改为null
。怎么了?
谢谢。Filippo
一种解决方法是解析查询,您可能需要这样做,因为模型绑定不知道如何解析参数:
var sortParameters = Request.Query.Where(x => x.Key.StartsWith("sort"));
var sortFilters = new List<SortFilter>();
foreach (var sortParamter in sortParameters)
{
sortFilters.AddRange(ParseSortParameter(sortParameter)); // TODO: implementation of ParseSortParameter
}
public class SortFilter
{
public string FieldName { get; set; }
public strin Direction { get; set; }
// ...
}
[Request
的类型为HttpRequest
。