Performans, tutarlılık ve sade kod için pratik yaklaşım.
Modern web ve mobil uygulamalarda hız, kullanıcı deneyiminin temelidir. Tek bir ekranı doldurmak için birden fazla API çağrısı gerektiğinde, bu isteklerin toplam gecikmesi gereksiz round-trip maliyetini doğurur.
Round-trip, bir HTTP isteğinin istemciden sunucuya gidip cevabın tekrar istemciye dönmesine verilen isimdir.
Bir ekran için üç farklı endpoint çağrısı gerekiyorsa, aslında 3 round-trip yapılıyor demektir.
Örnek senaryo: Ürün detay sayfasında gerek duyulan veriler:
Klasik yaklaşımda üç ayrı çağrı:
GET /products/{id}
GET /products/{id}/variants
GET /orders?productId={id}
UI’nın ihtiyacını tek endpoint’te toplayan Composite Resource yaklaşımıyla, ekran bir defada ve tutarlı şekilde doldurulur.
GET /products/{id}/dashboard
{
"product": { "id": "…", "title": "Laptop" },
"variants": [ { "id": "…", "name": "16GB RAM" } ],
"orders": [ { "id": "…", "date": "2025-08-01", "qty": 2, "total": 350.00 } ]
}
GET /products/{id}/dashboard?orders.page=1&orders.size=10
GET /products/{id}/dashboard?include=variants,orders
{
"product": { "status": "ok", "data": { /* … */ } },
"variants": { "status": "ok", "data": [ /* … */ ] },
"orders": { "status": "error", "message": "Order service unavailable" }
}
/v2/…
).Task.WhenAll
ile alt veri kaynaklarını aynı anda çekin.Gereksiz round-trip, performansı sessizce düşüren bir problemdir. Composite Resource yaklaşımıyla tek endpoint üzerinden hızlı, tutarlı ve sade bir deneyim sağlanır; hem geliştirici verimliliği hem de kullanıcı memnuniyeti artar.