Skip to main content

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