REST API Nedir, Nasıl Çalışır?
Günümüzde kullandığımız mobil uygulamalar, web siteleri ve finansal platformlar, arka planda sürekli olarak birbirleriyle veri alışverişi yapmaktadır. Farklı yazılımların ve sistemlerin güvenli, hızlı ve standart bir şekilde "konuşmasını" sağlayan bu altyapının temelinde ise REST API teknolojisi yatar.
REST API Nedir?
Konuyu anlamak için öncelikle iki temel terimi incelemek gerekir:
API (Uygulama Programlama Arayüzü): İki yazılımın birbirleriyle iletişim kurmasını sağlayan kurallar dizisidir. API, bir uygulamanın sahip olduğu işlevlerin veya verilerin, başka bir uygulama tarafından kullanılmasına olanak tanır.
REST (Temsili Durum Aktarımı): İstemci (Client) ve sunucu (Server) arasındaki iletişimi düzenleyen, esneklik ve performans odaklı bir yazılım mimarisidir.
Kısaca REST API, REST mimarisi prensiplerine uygun olarak tasarlanmış, sistemler arası veri transferini sağlayan arayüzdür. Web üzerindeki kaynaklara erişmek için HTTP protokolünü kullanır.
REST API Nasıl Çalışır?
REST API'nin çalışma mantığı, internette bir web sitesini ziyaret etmeye benzer. Süreç temel olarak "İstek" (Request) ve "Yanıt" (Response) döngüsü üzerine kuruludur:
İstemci (Client): Bilgiye ihtiyaç duyan taraftır (örneğin bir mobil uygulama). API belgelerinde belirtilen kurallara göre sunucuya bir istek gönderir.
Sunucu (Server): Kaynağı barındıran taraftır. İsteği alır, işler ve istemciye gerekli veriyi veya işlem sonucunu gönderir.
Bu iletişimde veriler genellikle JSON formatında taşınır. JSON, XML formatına göre daha hafif, daha az karmaşık ve okunması daha kolay olduğu için REST mimarisinde sıklıkla tercih edilir.
HTTP Metotları
RESTful API'lerde bir kaynağa ne yapılacağını belirtmek için standart HTTP metotları kullanılır. En yaygın kullanılan dört temel metot şunlardır:
GET: Sunucudaki verileri listelemek veya görüntülemek için kullanılır. Mevcut veriyi değiştirmez.
POST: Sunucuya yeni bir veri göndermek veya yeni bir kaynak oluşturmak için kullanılır.
PUT: Mevcut bir veriyi güncellemek veya değiştirmek için kullanılır.
DELETE: Belirtilen kaynağı sunucudan silmek için kullanılır.
REST API'nin Temel Prensipleri
Bir API'nin "RESTful" olarak adlandırılabilmesi için belirli kriterleri karşılaması gerekir:
Durumsuzluk (Statelessness): Sunucu, istemcinin geçmiş isteklerine dair herhangi bir oturum bilgisi tutmaz. Her istek, işlemin tamamlanması için gereken tüm bilgileri kendi içinde barındırmalıdır. Bu özellik, sunucu yükünü hafifletir ve ölçeklenebilirliği artırır.
Tek Biçimli Arayüz (Uniform Interface): İstemci ve sunucu arasındaki etkileşim standart bir formatta olmalıdır. Bu sayede uygulamalar birbirinden bağımsız olarak geliştirilebilir.
Önbelleğe Alma (Cacheability): Sunucudan gelen yanıtlar, istemci tarafından önbelleğe alınabilir nitelikte olmalıdır. Bu, aynı verinin tekrar tekrar indirilmesini engelleyerek performansı artırır.
HTTP Kodları Ne Anlama Gelir?
Bir API isteği yapıldığında sunucu işlemin sonucunu üç haneli bir kod ile bildirir. Bu kodlar, işlemin başarılı olup olmadığını anlamamızı sağlar:
200 (OK): İşlem başarıyla gerçekleşti.
201 (Created): Yeni veri başarıyla oluşturuldu (genellikle POST işlemlerinde).
400 (Bad Request): İstemci hatalı bir istek gönderdi.
401/403 (Unauthorized/Forbidden): Yetkisiz giriş denemesi.
404 (Not Found): İstenen kaynak bulunamadı.
500 (Internal Server Error): Sunucu kaynaklı bir hata oluştu.
