Sahifalash va filtr
page, per_page, q va sort parametrlari, meta bloki, filtrlar va bo‘sh natijalar bilan ishlash.
Parametrlar
| Parametr | Turi | Default | Tavsifi |
|---|---|---|---|
| page | integer | 1 | Sahifa raqami (1 dan boshlanadi) |
| per_page | integer | 20 | Sahifadagi elementlar soni (maks. 100) |
| q | string | — | Nom yoki tavsif bo'yicha qidiruv |
| sort | string | popular | popular, new, price_asc, price_desc |
| seller_id | integer | — | Faqat shu do'kon mahsulotlarini ko'rsatish |
Meta bloki
Sahifalangan barcha javoblarda meta bloki bo'ladi:
JSON
{
"status": "success",
"data": [ ... ],
"meta": {
"page": 2,
"per_page": 20,
"total": 342,
"last_page": 18
}
}
| Maydon | Turi | Tavsifi |
|---|---|---|
| meta.page | integer | Joriy sahifa |
| meta.per_page | integer | Sahifadagi elementlar soni |
| meta.total | integer | Jami elementlar soni |
| meta.last_page | integer | Oxirgi sahifa raqami |
Filtr va tartiblash
bash
# Nom bo'yicha qidiruv GET /products/books?q=python&page=1 # Narx bo'yicha o'sish GET /products/books?sort=price_asc&per_page=50 # Bitta do'kon, yangilaridan boshlab GET /products/books?seller_id=12&sort=new
Bo'sh natijalar
Hech narsa topilmasa ham 200 OK qaytariladi — xato emas:
JSON
{
"status": "success",
"data": [],
"meta": { "page": 1, "per_page": 20, "total": 0, "last_page": 1 }
}