ozur dilerim soruyu yanlış ifade etmişmişim. ordan kastım butun productları getır. client tarafında paginate et. yada server'a şukadar product getir de
Apiyi farkli clientler tüketicek. Kategori içinde farklı sayıda producta ihtiyaç duyabilirler.
demek istediğim client n sayıda producta ihtiyac duyarken digeri m sayıda producta ihtiyac duyablır.
n = 30 dersek
server her sayfa için 20 product donuyorsa fazladan 1 request daha atmam gerekecek. bu durumda a. şıkkının anlamı kalmıyor
a. şıkkı üzerinden gitmem gerekiyorsa şöyle birşey daha mantıklı olmaz mı?
// GET /categories?+qs.toString()
const qs = new URLSearchParams()
// kac kategori gelecek
qs.append("limit", 20)
qs.append("offset", 0)
// her kategoride kac urun olacak
qs.append("products", encodeURIComponent(JSON.stringify({ limit: 10, offset: 0})))
bunun bana dondugu cevap soyle birşey olsa
{
name: "category 1",
products: {
count: 60, // kategorideki toplam product sayisi
items: [ ... /*kategori icindeki her bir urun */]
}
}
bunu client tarafinda hesaplayip 2. sayfa gerektiginde, sonraki 10 product icin yine istek atabilirim
const qs = new URLSearchParams()
qs.append("products", encodeURIComponent(JSON.stringify({ limit: 10, offset: 10})))
gerçi initial load dan sonra /categories/1 içinde istek atılabilir
fikirlerinizi bekliyorum hocalarim