Teşhis, alıştırmalar ve bitirme
REST, pagination ve API sözleşmesi
URL tasarımı tek başına REST değildir.
Kavramı anlayalım
HTTP semantics iyi API tasarımına temel sağlar; REST daha geniş mimari kısıtlar içerir. Kaynak isimleri, method anlamı, status, representation ve cache birlikte tasarlanır. Her URL’de fiil kullanmak veya JSON dönmek otomatik kalite ölçütü değildir.
Offset pagination basittir ama veri değişirken kayma ve duplicate doğurabilir. Cursor pagination kararlı sıralama ve opaque cursor sözleşmesi ister. Cursor’ı decode etmek geçerli yetki veya güvenilir içerik kabulü değildir. Limit, sort ve filtreler sınırlandırılmalı; bütün tabloyu tek istekte döndürme.
Versioning path, header veya representation stratejisiyle yapılabilir; backward compatibility ve deprecation planı daha önemlidir. Error schema ve pagination metadata stabil olmalıdır. Kullanıcı bir sayfadan diğerine geçerken hangi tutarlılığı göreceğini belgele; salt HTTP bu veri snapshot’ını sihirli biçimde sağlamaz.
Büyüyen blog ve proje listeleri için doğru API akışı kurmak.
Cursor’a kullanıcı yetkisi yerine güvenmek.
Aynı konu. Üç farklı derinlik.
GET /posts?limit=20 HTTP/1.1
Host: example.testLimit server tarafından sınırlandırılmalıdır.
Bu sayfa dış sunuculara istek göndermez. HTTP mesajları temsili, HTTP/1.1 biçiminde okunabilir gösterimlerdir; HTTP/2 ve HTTP/3 wire formatı değildir. example.test ayrılmış öğretim alan adıdır. Komut ve JavaScript örneklerini yalnız kendi test ortamında uygula; gerçek token veya cookie yayımlama.
Önce kendin dene.
JSON dönmek bir API’nin REST olduğunu kanıtlar mı?
Çözümü ve açıklamasını göster
Representation format ≠ architectureHayır; mimari ve HTTP anlamı ayrı değerlendirilir.