Выбор ответа Junior REST и документация API обновлено
Фильтры и сортировка
Вопрос
Как обычно передают фильтры и сортировку в REST-запросе на список?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: В query-параметрах: GET /products?category=books&sort=-price. Фильтры, сортировка и пагинация описывают выборку из коллекции, поэтому это query-параметры.
Варианты ответа
- В теле GET-запроса:
{"category": "books", "sort": "-price"} - В query-параметрах:
GET /products?category=books&sort=-priceправильный ответ - В заголовках, например
X-Filter: category=books - В пути:
GET /products/filter/books/sort/price
Разбор
Фильтры, сортировка и пагинация описывают выборку из коллекции, поэтому это query-параметры. У GET-тела нет определённой семантики. Проверки: неизвестное значение сортировки (400, а не 500), регистр, пустой фильтр, комбинации фильтров, SQL-инъекция в значении sort, которое часто подставляют в запрос как есть.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.