query-params
Обычно query-params передаются в get-запросах.
const queryParams = new URLSearchParams({ foo: 'value', bar: 2 });
Добавление к fetch
fetch('https://example.com?' + new URLSearchParams({
foo: 'value',
bar: 2,
}))
или так:
const queryParams = new URLSearchParams({
foo: 'value',
bar: 2,
});
fetch(`https://example.com?${queryParams}`);
или так:
Кириллицу нужно кодировать
fetch(`https://example.com?foo=value&bar=2`)
Фильтрация
# фильтрация по region_id
?filter=region_id|in|132
# фильтрация по названию address
?filter=address|like|Нефтезаводская, д. 31
# мульти-фильтрация
?filter[roles][]=ROLE_SECTION_USER&filter[roles][]=ROLE_SECTION_ZONE_VIEW&filter[roles][]=ROLE_SECTION_SLA_VIEW
filter[roles][]: ROLE_SECTION_USER
filter[roles][]: ROLE_SECTION_ZONE_VIEW
filter[roles][]: ROLE_SECTION_SLA_VIEW
Сортировка
?sort[lastName]=ASC
?sort[lastName]=DESC
sort[lastName]: ASC
Пагинация
?limit=50&offset=0
limit: 50
offset: 0
Примеры
// диапозоны цены
GET /items?price=20-60
// в интервале
GET /products?price=>10&price=<50
// по автору и году издания
GET /books?author=Jane_Austen&year>=1800
// сортировка
GET /products?sort=price&order=asc
GET /songs?sort=length&order=desc
https://api.example.com/products?sort=desc&category=clothing
// пагинация
https://api.example.com/products?limit=10&offset=20