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

6
我可以帮助您翻译这段内容。这是关于IT技术的问题。该问题涉及到如何使用[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; }
    }

当我向查询字符串传递参数时,例如"page",它会正常绑定,但是我该如何将"Filters"参数绑定?
1个回答

10

像这样传递参数:

?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

3
允许的最大URL长度仍为2,083个字符 :) - Himalaya Garg

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接