Web API中的复杂参数绑定(嵌套类的数组)

时间:2015-07-13 06:19:44

标签: c# asp.net-web-api parameterbinding

有:

public class Range
{
    public double Min{get;set;}
    public double Max{get;set;}
}

public class CustomParameters
{
    public List<Range> SelectedRanges{get;set;}
    public List<int> SelectedTypes{get;set;}
}   

我在FooController中制作了一个自定义方法,如下所示:

[Route("Operation")]    
[HttpGet]
public IQueryable<Foo> Operation([FromUri] CustomParameters parameters)
{
     //some code to return what I'm looking for.
}

问题 当我们将数组和自定义类型与嵌套对象组合时,查询字符串是什么样的? 这是我正在使用但不起作用的查询。

api/Foo/Operation?
    SelectedRanges.Min=0&
    SelectedRanges.Max=10&
    SelectedRanges.Min=100&
    SelectedRanges.Max=200&
    SelectedTypes=1&
    SelectedTypes=2 

1 个答案:

答案 0 :(得分:2)

我找到了答案。在这种情况下,我们可以使用ToolBar.setNavigationOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { getActivity().onBackPressed(); } }); 的索引来对集合中的实例的属性进行分组,因此第一个[]Min值一起映射到单个Max实例Range列表。

SelectedRanges