Yazılar & Rehberler

Blog

API Nedir? RESTful API Tasarım Rehberi

İpuçları & Rehberler BUZ Yazılım 15 Şubat 2023

API Nedir?

API (Application Programming Interface), farklı yazılım uygulamalarının birbirleriyle iletişim kurmasını sağlayan bir arayüzdür. Bir restorandaki garson gibi düşünebilirsiniz: siz (istemci) mutfağa (sunucu) doğrudan gidemezsiniz, ancak garson (API) siparişinizi alır ve size yemeğinizi getirir.

BUZ Yazılım olarak 19+ yıllık deneyimimizde yüzlerce API geliştirdik ve entegre ettik. Bu yazıda API dünyasının temellerini sizlerle paylaşıyoruz.

REST Nedir?

REST (Representational State Transfer), Roy Fielding tarafından 2000 yılında tanımlanan bir mimari stildir. RESTful API'ler, web'in mevcut altyapısını kullanarak basit, ölçeklenebilir ve güvenilir servisler oluşturmayı amaçlar.

REST'in temel prensipleri şunlardır:

  • İstemci-Sunucu ayrımı: İstemci ve sunucu bağımsız olarak geliştirilebilir
  • Durumsuzluk (Stateless): Her istek, işlenebilmesi için gereken tüm bilgiyi içermelidir
  • Önbelleğe alınabilirlik: Yanıtlar önbelleğe alınabilir olarak işaretlenebilir
  • Katmanlı sistem: İstemci, doğrudan sunucuya mı yoksa bir aracıya mı bağlandığını bilemez
  • Tekdüze arayüz: Kaynaklar tutarlı bir şekilde erişilebilir olmalıdır

HTTP Metodları

RESTful API'lerde her işlem için uygun HTTP metodu kullanılır:

  • GET: Kaynak okuma (veri getirme)
  • POST: Yeni kaynak oluşturma
  • PUT: Mevcut kaynağı tamamen güncelleme
  • PATCH: Mevcut kaynağı kısmen güncelleme
  • DELETE: Kaynak silme

Bu metodların doğru kullanımı, API'nizin anlaşılabilir ve tutarlı olmasını sağlar.

Endpoint Tasarım İlkeleri

İyi bir endpoint tasarımı, API'nizin kullanılabilirliğini doğrudan etkiler. İşte altın kurallar:

  • İsimlendirme: Fiil değil isim kullanın → /users doğru, /getUsers yanlış
  • Çoğul form: Koleksiyon isimleri çoğul olmalı → /products, /orders
  • Hiyerarşi: İlişkili kaynakları iç içe gösterin → /users/123/orders
  • Filtreleme: Query parametreleri kullanın → /products?category=electronics&sort=price
  • Versiyonlama: API versiyonunu URL'de belirtin → /api/v1/users
  • Tutarlılık: Aynı adlandırma kuralını tüm endpoint'lerde uygulayın

HTTP Durum Kodları

Doğru durum kodları kullanmak, API'nizin iletişim kalitesini artırır:

  • 200 OK: Başarılı istek
  • 201 Created: Yeni kaynak oluşturuldu
  • 204 No Content: Başarılı ancak döndürülecek içerik yok
  • 400 Bad Request: Geçersiz istek
  • 401 Unauthorized: Kimlik doğrulama gerekli
  • 403 Forbidden: Yetkilendirme yetersiz
  • 404 Not Found: Kaynak bulunamadı
  • 500 Internal Server Error: Sunucu hatası

API Güvenliği

API güvenliği, modern yazılım geliştirmenin en kritik konularından biridir:

Kimlik Doğrulama ve Yetkilendirme

  • JWT (JSON Web Token): Stateless kimlik doğrulama için en yaygın yöntem
  • OAuth 2.0: Üçüncü taraf erişim yetkilendirmesi için standart protokol
  • API Key: Basit projeler için kullanılabilir ancak tek başına yeterli değildir

Güvenlik En İyi Uygulamaları

  • HTTPS zorunluluğu: Tüm API trafiğini şifreleyin
  • Rate limiting: Aşırı istek gönderimini sınırlandırın
  • Input validation: Gelen tüm verileri doğrulayın
  • CORS politikası: Sadece izin verilen kaynaklardan erişime izin verin
  • Hassas veri maskeleme: Loglarda kişisel bilgileri gizleyin

API Dokümantasyonu

İyi bir API, iyi bir dokümantasyonla tamamlanır. Swagger/OpenAPI standardını kullanarak:

  • Tüm endpoint'lerinizi interaktif şekilde belgeleyin
  • Örnek istek ve yanıtları ekleyin
  • Hata kodlarını ve açıklamalarını listeleyin
  • Kimlik doğrulama sürecini detaylı anlatın

Sonuç

RESTful API tasarımı, modern yazılım mimarisinin temel yapı taşlarından biridir. Doğru prensiplerle tasarlanan bir API, hem geliştirici deneyimini hem de sistem güvenilirliğini artırır.

BUZ Yazılım olarak 100'den fazla müşterimizin projelerinde güvenli, performanslı ve ölçeklenebilir API çözümleri geliştiriyoruz. API tasarımı veya entegrasyonu konusunda desteğe ihtiyacınız varsa bizimle iletişime geçin.

Projeniz için profesyonel destek mi arıyorsunuz?

Ücretsiz Teklif Alın