Mockpit
Разделы
Документация/Справочник API/Фильтры и сортировка

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

Фильтр — это параметр запроса, названный так же, как поле схемы.

Точное совпадение

?role=admin

Значение поля сравнивается с переданным как строка, посимвольно.

Подстрока

?name_like=петр

Совпадение в любом месте значения, регистр не учитывается.

Диапазон чисел

?age_gt=18&age_lt=65

Работает только для числовых полей. Обе границы строгие: _gt — строго больше, _lt — строго меньше. Чтобы ограничить диапазон с одной стороны, передайте один параметр.

Запись, у которой в числовом поле оказалась строка, в такую выборку просто не попадёт. Ошибки при этом не будет: схема не запрещает такие записи.

Сортировка

?_sort=age&_order=desc

Числовые поля сортируются как числа, а не как строки, иначе 9 оказалось бы больше 10. Записи с одинаковым значением дополнительно упорядочены по id — без этого при листании страниц одна и та же запись могла бы встретиться дважды или не встретиться вовсе.

Опечатка в имени поля — это ошибка, а не пустой список

Фильтр по полю, которого нет в схеме, отвечает 400 и называет поле: {"error":"unknown_field","field":"rolle"}. Пустой ответ выглядел бы как «таких записей нет», и опечатку пришлось бы искать самому.

Совмещение

Несколько фильтров действуют одновременно: запись должна подойти под все. Сортировка и разбивка на страницы применяются уже к отобранным записям, и X-Total-Count считает тоже их, а не всю коллекцию.