Ana Sayfa/Blog/REST API Tasarım İlkeleri ve En İyi Uygulamalar

REST API Tasarım İlkeleri ve En İyi Uygulamalar

REST (Representational State Transfer), web servisleri oluşturmak için en yaygın kullanılan mimari stildir. İyi tasarlanmış bir REST API, geliştiricilerin kolayca anlayıp entegre edebileceği, ölçeklenebilir ve bakımı kolay bir arayüz sunar. Bu rehberde, profesyonel REST API tasarımının temel ilkelerini ve en iyi uygulamalarını ele alacağız.

REST Temel İlkeleri

REST mimarisi altı temel ilkeye dayanır:

HTTP Metodları

REST API'lerde her işlem için uygun HTTP metodunu kullanmak kritik öneme sahiptir:

GET    /api/users          → Tüm kullanıcıları listele
GET    /api/users/42        → 42 ID'li kullanıcıyı getir
POST   /api/users           → Yeni kullanıcı oluştur
PUT    /api/users/42        → 42 ID'li kullanıcıyı tamamen güncelle
PATCH  /api/users/42        → 42 ID'li kullanıcıyı kısmen güncelle
DELETE /api/users/42        → 42 ID'li kullanıcıyı sil

Önemli kurallar:

URL Yapısı

İyi bir URL tasarımı, API'nizin kullanılabilirliğini büyük ölçüde artırır:

✅ Doğru:
GET /api/v1/users
GET /api/v1/users/42/orders
GET /api/v1/products?category=electronics

❌ Yanlış:
GET /api/v1/getUsers
GET /api/v1/user/42/getOrders
POST /api/v1/deleteUser/42

URL tasarım kuralları:

HTTP Durum Kodları

Doğru durum kodu kullanmak, API'nizin anlaşılabilirliği için kritiktir:

// Başarılı yanıtlar
200 OK              → Genel başarı
201 Created         → Kaynak oluşturuldu (POST sonrası)
204 No Content      → Başarılı ama döndürülecek veri yok (DELETE sonrası)

// İstemci hataları
400 Bad Request     → Geçersiz istek
401 Unauthorized    → Kimlik doğrulanmadı
403 Forbidden       → Yetki yok
404 Not Found       → Kaynak bulunamadı
409 Conflict        → Çakışma (ör. zaten var olan email)
422 Unprocessable   → Doğrulama hatası
429 Too Many Req.   → Rate limit aşıldı

// Sunucu hataları
500 Internal Error  → Sunucu hatası
503 Unavailable     → Servis geçici olarak kullanılamıyor

Versiyonlama

API'niz değiştikçe mevcut istemcilerin çalışmaya devam etmesi gerekir. Yaygın versiyonlama yöntemleri:

// URL versiyonlama (en yaygın)
GET /api/v1/users
GET /api/v2/users

// Header versiyonlama
Accept: application/vnd.myapp.v2+json

// Query parametresi
GET /api/users?version=2

Sayfalama (Pagination)

Büyük veri setleri için sayfalama zorunludur:

GET /api/users?page=2&limit=20

{
  "data": [...],
  "pagination": {
    "page": 2,
    "limit": 20,
    "total": 156,
    "totalPages": 8
  }
}

Hata Yönetimi

Tutarlı ve bilgilendirici hata yanıtları, geliştirici deneyimini iyileştirir:

{
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "Doğrulama hatası oluştu",
    "details": [
      {
        "field": "email",
        "message": "Geçerli bir email adresi giriniz"
      }
    ]
  }
}

Kimlik Doğrulama

Modern API'lerde en yaygın kimlik doğrulama yöntemleri:

API geliştirme sürecinizi hızlandırmak için SiteScripti'nin cURL Builder, API Formatter ve HTTP Durum Kodu Sözlüğü araçlarını kullanabilirsiniz.

Bu konuyla ilgili araçlarımızı da deneyin: cURL Builder, JSON Formatter, Regex Test Aracı

← Tüm Yazılar