Выбор ответа Junior REST и документация API обновлено

Фильтры и сортировка

Вопрос

Как обычно передают фильтры и сортировку в REST-запросе на список?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: В query-параметрах: GET /products?category=books&sort=-price. Фильтры, сортировка и пагинация описывают выборку из коллекции, поэтому это query-параметры.

Варианты ответа

  1. В теле GET-запроса: {"category": "books", "sort": "-price"}
  2. В query-параметрах: GET /products?category=books&sort=-priceправильный ответ
  3. В заголовках, например X-Filter: category=books
  4. В пути: GET /products/filter/books/sort/price

Разбор

Фильтры, сортировка и пагинация описывают выборку из коллекции, поэтому это query-параметры. У GET-тела нет определённой семантики. Проверки: неизвестное значение сортировки (400, а не 500), регистр, пустой фильтр, комбинации фильтров, SQL-инъекция в значении sort, которое часто подставляют в запрос как есть.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме