İçeriğe Atla
Mustafa Erbay
Rehberler · 9 dk okuma · görüntülenme Read in English

REST API Tasarım Prensipleri

Kaynak modelinden idempotency’ye, pagination’dan hata sözleşmesine kadar üretimde sürdürülebilir REST API tasarımı için pratik kurallar.

100%

REST API tasarımı, endpoint yazmaktan çok sözleşme tasarlamaktır. Sözleşme kötü olursa, bir süre sonra “client’lar bozulmasın diye” her şey geriye dönük hack’e dönüşür.

Bu yazıda üretimde sürdürülebilir REST API için pratik prensipleri topladım: kaynak modelleme, HTTP semantiği, idempotency, pagination, hata modeli ve versiyonlama.

1) Kaynak (resource) modeli: fiil değil isim

URI’lar “iş” değil “şey” olmalı:

  • /users/{id}
  • /getUser

HTTP method’ları semantik taşır:

  • GET: okuma (idempotent)
  • POST: oluşturma/command (idempotent olmayabilir)
  • PUT: replace (idempotent)
  • PATCH: partial update (genelde idempotent tasarlanır)
  • DELETE: silme (idempotent)

2) Idempotency: retry ile hayatta kal

Üretimde retry olur. Bu yüzden özellikle POST için idempotency anahtarı ciddi fark yaratır.

3) Pagination: OFFSET yerine cursor

OFFSET büyüdükçe maliyet artar ve tutarlılık bozulur. Cursor tabanlı pagination üretimde daha sağlıklıdır.

4) Hata sözleşmesi: tek format, aksiyonlanabilir mesaj

Tek bir hata modeli kullanın:

{
  "error": {
    "code": "INVALID_ARGUMENT",
    "message": "email is required",
    "requestId": "..."
  }
}

5) Versiyonlama: kırmadan evrimleştir

Kural: breaking change varsa versiyon artır. Mümkünse “additive change” ile ilerle (yeni alan ekle, eskisini deprecate et).

Sonuç

REST API tasarımında hedef: client’ın doğru kullanımı kolay, yanlış kullanımı zor olsun. Idempotency, hata sözleşmesi ve pagination gibi detaylar; üretimde en çok problem çıkaran yerlerdir.

Paylaş:

Bu yazı faydalı oldu mu?

Yükleniyor...

Bu yazı nasıldı?

ME

Mustafa Erbay

Sistem Mimarisi · Network Uzmanı · Altyapı, Güvenlik ve Yazılım

2006'dan bu yana sistem mimarisi, network, sunucu altyapıları, büyük yapıların kurulumu, yazılım ve sistem güvenliği ekseninde çalışıyorum. Bu blogda sahada karşılığı olan teknik deneyimlerimi paylaşıyorum.

Kişisel Notlar

Bu notlar sadece sizde saklanır. Tarayıcınızda yerel olarak tutulur.

Hazır 0 karakter

Yorumlar

Sunucu Taraflı AI Moderasyon

Yorumlar sunucuda yapay zeka ile denetlenir ve kalıcı olarak saklanır.

?
0/2000

Sunucu taraflı AI denetim

✉️ Ücretsiz · Spam yok · İstediğin an çık

Yeni yazılardan haberdar olun

Yeni içerikler ve teknik notlar e-postanıza gelsin.

  • 📌
    Haftanın en iyisi Sadece okumaya değer tek yazı
  • 🔧
    Alet çantası Bu hafta kullandığım araçlar
  • 🧠
    Perde arkası Blog'a girmeyen notlar

Spam yapmıyoruz. İstediğiniz zaman ayrılabilirsiniz. · Sadece Umami (self-hosted, Google yok) ile takip.

Okuma İstatistikleriniz

0

Yazı Okundu

0dk

Okuma Süresi

0

Gün Serisi

-

Favori Kategori

İlgili Yazılar