将查询字符串中的复杂对象列表传递给WEB API

时间:2017-12-21 19:32:03

标签: rest asp.net-web-api query-string

我有一个WEB API方法,它使用[FromUri]将复杂类型对象绑定到我的视图模型,在这个视图模型中,我有一个复杂对象列表。当我执行 GET 请求时,如何填充此列表?

这是我的方法来自 WEB API

[HttpGet]
public HttpResponseMessage ListPaged([FromUri]PaginationReParams parameters)
{
   // DO SOMETHING HERE...
}

PaginationReqParams 查看模型

public class PaginationReqParams
    {
        public PaginationReqParams()
        {
            this.Filters = new List<FiltersReq>();
        }

        public List<FiltersReq> Filters { get; set; }
        public Int32 Page { get; set; }
        public Int32 PageSize { get; set; }
    }

FiltersReq类

public class FiltersReq 
    {
        public String Field { get; set; }
        public String Value { get; set; }
        public String ComparisonOperator { get; set; }
    }

当我将参数传递给我的查询字符串时&#34; page&#34;它正常绑定,但我该如何绑定&#34;过滤器&#34;参数β

1 个答案:

答案 0 :(得分:3)

传递如下参数:

?page=1&pagesize=10&filters[0].Field=name&filters[0].Value=aladdin&filters[0].ComparisonOperator=eq&filters[1].Field=age&filters[1].Value=18&filters[1].ComparisonOperator=eq