REST (Representational State Transfer), web servisleri tasarlamak için kullanılan bir mimari stildir. RESTful API'ler, internet üzerinde veri alışverişi için en yaygın kullanılan yöntemdir.

REST Prensipleri

1. Client-Server Ayrımı

İstemci ve sunucu bağımsız olarak geliştirilebilir.

2. Stateless (Durumsuz)

Her istek, işlenmesi için gereken tüm bilgileri içermelidir.

3. Cacheable

Yanıtlar önbelleğe alınabilir olarak işaretlenebilir.

4. Uniform Interface

Kaynaklar tutarlı bir arayüz üzerinden erişilir.

5. Layered System

Katmanlı mimari desteklenir.

HTTP Metodları

  • GET: Kaynak okuma
  • POST: Yeni kaynak oluşturma
  • PUT: Kaynak güncelleme (tam)
  • PATCH: Kaynak güncelleme (kısmi)
  • DELETE: Kaynak silme

HTTP Durum Kodları

  • 200 OK: Başarılı
  • 201 Created: Kaynak oluşturuldu
  • 204 No Content: Başarılı, içerik yok
  • 400 Bad Request: Hatalı istek
  • 401 Unauthorized: Kimlik doğrulama gerekli
  • 403 Forbidden: Erişim yasak
  • 404 Not Found: Kaynak bulunamadı
  • 500 Internal Server Error: Sunucu hatası

REST API Tasarım İpuçları

# İyi URL tasarımı
GET /api/users
GET /api/users/123
POST /api/users
PUT /api/users/123
DELETE /api/users/123
# İlişkili kaynaklar
GET /api/users/123/orders
GET /api/users/123/orders/456

REST vs GraphQL

REST basit senaryolar için idealdir. GraphQL, karmaşık veri gereksinimleri olan uygulamalar için daha uygun olabilir.

Sonuç

REST API'ler, web uygulamaları için standart haline gelmiştir. Prensiplerini anlamak ve en iyi uygulamaları takip etmek, güvenilir ve ölçeklenebilir servisler oluşturmanın temelidir.