将查询字符串中的复杂对象列表传递给WEB API [英] Pass a list of complex object in query string to WEB API
本文介绍了将查询字符串中的复杂对象列表传递给WEB API的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个WEB API方法,该方法使用 [FromUri]
将复杂类型对象绑定到我的视图模型,在此视图模型中,我有一个复杂对象列表>在里面.发出 GET 请求时如何填充此列表?
I have an WEB API method that uses [FromUri]
to bind complex type object to my view model, and in this view model, I have a list of complex object inside it. How do I populate this list when I do a GET request?
这是来自 WEB API 的我的方法:
[HttpGet]
public HttpResponseMessage ListPaged([FromUri]PaginationReParams parameters)
{
// DO SOMETHING HERE...
}
PaginationReqParams 视图模型
The PaginationReqParams view model
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类
The FiltersReq class
public class FiltersReq
{
public String Field { get; set; }
public String Value { get; set; }
public String ComparisonOperator { get; set; }
}
当我将参数传递给查询字符串(如页面")时,它会正常绑定,但是如何绑定过滤器"参数呢?
When I pass parameters to my query string Like "page" it binds normally, but how do I do to bind the "Filters" parameter?
推荐答案
传递如下参数:
?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
这篇关于将查询字符串中的复杂对象列表传递给WEB API的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文