Blog

REST API Nedir? Güvenilir API İçin 6 Temel Karar

REST API, web veya mobil istemcinin sunucudaki kaynaklara standart HTTP istekleriyle erişmesini sağlayan sözleşmedir. Güvenilir bir API yalnızca veri döndürmez; doğrulama, yetkilendirme, hata biçimi, tekrar güvenliği ve izlenebilirlik davranışlarını da açıkça tanımlar.

Yayın tarihi: Yazan: Emre Serekioğlu

REST API tam olarak ne yapar?

REST API, istemci ile veri ve iş kurallarını yöneten backend arasındaki sınırdır. Mobil uygulama veya web arayüzü “siparişi getir” ya da “servis kaydını onayla” isteği gönderir; API kimliği ve yetkiyi kontrol eder, iş kuralını çalıştırır ve öngörülebilir bir yanıt döndürür.

HTTP yöntemiTipik amaçÖrnek kaynak işlemi
GETVeri okumakSipariş listesini getir
POSTYeni işlem başlatmakYeni sipariş oluştur
PUT / PATCHMevcut veriyi değiştirmekTeslimat adresini güncelle
DELETEKaynağı silmek veya pasifleştirmekTaslak kaydı kaldır

REST API ile backend aynı şey değildir

Backend; veritabanı, iş kuralları, zamanlanmış işler, kuyruklar, dosya depolama ve entegrasyonlar dahil sunucu tarafının tamamıdır. REST API bu sistemin dışarıya açılan sözleşmesidir. Aynı backend mobil uygulamaya REST API, yönetim işlerine kuyruk ve başka servislere olay mesajı sunabilir.

Güvenilir API için 6 temel karar

API kalitesini endpoint sayısı değil, davranışların tutarlılığı belirler. Aşağıdaki 6 karar geliştirme başlamadan yazılırsa mobil, web ve backend ekipleri aynı sözleşmeye göre ilerler.

KararYanıtlanacak soruBeklenen çıktı
1. Kaynak modeliURL'ler hangi varlıkları temsil ediyor?Tutarlı isim ve ilişki yapısı
2. Doğrulama ve hataGeçersiz istek nasıl açıklanıyor?Alan bazlı, kararlı hata biçimi
3. Kimlik ve yetkiKim, hangi kaydı, hangi işlemi yapabilir?Rol ve sahiplik matrisi
4. SürümlemeKırıcı değişiklik nasıl yayınlanıyor?Eski istemciyi koruyan geçiş planı
5. Tekrar güvenliğiAynı istek iki kez gelirse ne olur?Çift ödeme veya çift kayıt engeli
6. GözlemlenebilirlikBir hata hangi istekten geldi?İstek kimliği, log ve ölçüm

Hata yanıtları neden sözleşmenin parçasıdır?

İstemci yalnız başarılı yanıtla çalışmaz. İnternet kesintisi, süresi dolan oturum, geçersiz alan, kota aşımı ve dış servis hatası kullanıcıya farklı biçimde anlatılmalıdır. Her endpoint farklı hata biçimi döndürürse arayüz kodu dallanır ve gerçek sorunlar genel bir “bir şeyler ters gitti” mesajına dönüşür.

  • Her yanıtta izlenebilir bir istek kimliği kullanın.
  • Kullanıcıya gösterilecek mesaj ile teknik log ayrıntısını ayırın.
  • Alan doğrulama hatalarını ilgili alan adıyla döndürün.
  • Kimlik doğrulama, yetki ve bulunamama durumlarını birbirine karıştırmayın.
  • Dış servis hataları için zaman aşımı ve yeniden deneme sınırı belirleyin.

Güvenlik yalnız giriş ekranı değildir

API güvenliği her istekte kimlik, yetki, veri kapsamı ve hız sınırı kontrolü gerektirir. Kullanıcının giriş yapmış olması başka bir kullanıcının kaydını görebileceği anlamına gelmez. Kaynak sahipliği sunucuda doğrulanmalı; gizli anahtarlar mobil veya web istemcisine konmamalıdır.

API tesliminde hangi belgeler bulunmalı?

Teslim edilebilir bir API; çalışan kodun yanında makinece okunabilir endpoint tanımı, örnek istek ve yanıtlar, kimlik akışı, hata kataloğu ve yerel kurulum adımları içerir. Bu belgeler yeni bir geliştiricinin sözlü aktarım olmadan ilk isteği gönderebilmesini sağlamalıdır.

Sıkça sorulan sorular

REST API için hangi programlama dili kullanılmalı?

Dil, ekip deneyimi ve sistem gereksinimine göre seçilir. .NET, Node.js ve Python aynı REST ilkelerini uygulayabilir. Uzun vadeli kaliteyi dil isminden çok veri modeli, hata sözleşmesi, test kapsamı ve gözlemlenebilirlik belirler.

REST API ile GraphQL arasındaki fark nedir?

REST kaynaklara ve standart HTTP davranışlarına odaklanır; GraphQL istemcinin ihtiyaç duyduğu alanları tek sorgu diliyle seçmesine izin verir. Sabit ve anlaşılır iş akışlarında REST daha basit olabilir; çok sayıda istemcinin farklı veri şekilleri istediği ürünlerde GraphQL değerlendirilebilir.

Bir REST API nasıl test edilir?

En az üç katman test edilir: iş kurallarını doğrulayan birim testleri, veritabanı ve bağımlılıklarla çalışan entegrasyon testleri, istemci sözleşmesini koruyan uçtan uca veya sözleşme testleri. Yetkisiz erişim, tekrar gönderim ve dış servis hataları da başarı senaryoları kadar önemlidir.

Projenizi birlikte başlatalım

Kısa formu doldurun, 12 saat içinde size dönüş yapalım. Her proje için özel çözüm sunuyoruz.

İletişime geç