Сложное связывание параметров (массив вложенного класса) в веб-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