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

Добрый день.

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

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

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

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

Войти через центр авторизации
Похожие вопросы