код:
GET запрос
[FromQuery] string filter = null,
[FromQuery] Dictionary<string, OrderValue> orderBy = null
по отдельности каждый из параметров работает так, как нужно, но вместе работает только orderBy. При изменении поля filter выбрасывает ошибку валидации (на скрине).
Справедливо для любых других query-параметров. Например, интовые значения
[FromQuery] int offset = 20,
при изменении на любое другое число (5, к примеру), тоже не проходят валидацию.
ASP.NET Core 5
мож без словаря всё же?
А как словарь в query выглядит?
хз, попросили сортировку по любым возможным полям во вьюшке, придется для каждого поля в каждом методе делать сортировку
https://localhost:44336/indexes?additionalProp1=ASC&additionalProp2=ASC&additionalProp3=ASC наверное можно в строку записать словарь и парсить его, но мб есть еще какие то варианты
Может их в тело запроса?
не, в GET нет FromBody
у как у тебя фильтер рабоат? там же есть типа больше\менше\равно\включает и т.д.
не, там просто обычная строка и в БД EF.Functions.ILike(o.Name, $"%{query.Filter}%" но до этого не доходит, обваливается на валидации на заходе в метод контроллера
понял. У меня похожая задача была и я ее решал в итоге через деревья выражений и рефлексию
Обсуждают сегодня