Сложное связывание параметров (массив вложенного класса) в веб-API

Наличие:

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 ответ

Я нашел ответ. В этом случае мы можем использовать индексацию с [] группировать атрибуты экземпляра в коллекции, поэтому первый Min а также Max значения вместе отображаются в один Range экземпляр в SelectedRanges список.

api/Foo/Operation?
    SelectedRanges[0].Min=0&
    SelectedRanges[0].Max=10&
    SelectedRanges[1].Min=100&
    SelectedRanges[1].Max=200&
    SelectedTypes=1&
    SelectedTypes=2 
Другие вопросы по тегам