Задать вопрос

Как в REST сделать метод со сложной фильтрацией?

Добрый день.

Вот описание стандартной реализации REST.
5d6e15818a2ef392446198.png

Как лучше всего, далеко не отходя от смысла, добавить метод который будет в Body передавать сложный JSON для фильтрации? По идеи, это должен быть GET, но у меня даже сервер отвергнет такой запрос (GET + JSON Body)

Нужен именно JSON Body, без использования Headers.
  • Вопрос задан
  • 1322 просмотра
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Skillbox
    1C-разработчик
    8 месяцев
    Далее
  • Нетология
    Python-разработчик с нуля
    6 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
inoise
@inoise
Solution Architect, AWS Certified, Serverless
1. в rest для url не типично использовать символы в верхнем регистре. Стоит заменить TodoItems на todo-items
2. для фильтрации типично использовать GET параметры. Обычно для этого передают всякие разные параметры вроде filter, limit, page и т.п. и они отлично работают
3. если уж так очень хочется сложную фильтрацию запросами в теле то для этого сейчас используют GraphQL
4. Если вообще приспичило так то в GET тоже можно слать Body, просто мало кто про это знает, а в RFC написано что "поступайте так только если действительно понимаете что делаете"
5. самый верхний метод у вас и должен быть по совместительству фильтром
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы