İçeriğe geç
parazade

REST API Nedir?

Yayın: · Son güncelleme:

REST API Nedir? Kısaca

REST API, uygulamaların HTTP protokolü üzerinden ve genellikle JSON biçiminde veri alışverişi yaptığı, REST mimari ilkelerine dayanan uygulama programlama arayüzüdür. Web'de en yaygın API türüdür.

REST API nedir?
İçindekiler
  1. REST API nedir?
  2. HTTP metotları nasıl kullanılır?
  3. Önemli ilkeler ve dikkat edilecekler

REST API, bir sunucudaki verilere standart HTTP istekleriyle ulaşmayı sağlayan arayüzdür. Mobil uygulamaların, web sitelerinin ve otomasyon araçlarının büyük kısmı arka planda REST API'lerle konuşur.

REST API nedir?

Kısaltmanın açılımı Representational State Transfer'dır. Bu mimari yaklaşımı Roy Fielding, 2000 yılındaki doktora tezinde tanımladı. Temel fikir, her şeyi bir "kaynak" olarak görmek ve her kaynağa bir adres vermektir. Ürünler, müşteriler ve siparişler birer kaynaktır.

Örneğin bir mağaza API'sinde şu adresler bulunabilir:

  • /urunler: tüm ürünler
  • /urunler/42: 42 numaralı ürün

HTTP metotları nasıl kullanılır?

Metot İşlem Örnek
GET Okuma Ürün listesini getir
POST Oluşturma Yeni sipariş ekle
PUT / PATCH Güncelleme Stok miktarını değiştir
DELETE Silme Ürünü kaldır

Sunucu her isteğe bir durum koduyla cevap verir. 200 başarılı, 201 oluşturuldu, 404 bulunamadı, 401 yetkisiz anlamına gelir. Veri çoğunlukla JSON biçiminde döner.

Önemli ilkeler ve dikkat edilecekler

REST'in temel özelliklerinden biri durumsuzluktur (stateless). Sunucu önceki istekleri hatırlamaz; her istek, kimlik bilgisi dahil gereken her şeyi kendisi taşır. Bu, sistemi birden fazla sunucuya dağıtmayı kolaylaştırır.

Bir REST API kullanırken önce dokümantasyonu okuyun: kimlik doğrulama yöntemi, istek sınırı ve sayfalama kuralları genellikle orada yazar. Varsayımsal bir örnek: 10.000 ürünü tek istekte istemek yerine API sayfalama sunuyorsa 100'erli parçalar hâlinde çekmek, hem sizin hem sunucunun işini kolaylaştırır.

Sıkça Sorulan Sorular

REST API ile RESTful API aynı şey mi?

Günlük kullanımda çoğu zaman aynı anlamda kullanılır. RESTful ifadesi, API'nin REST ilkelerine ne kadar sıkı uyduğunu vurgulamak için tercih edilir.

REST API'yi denemek için ne kullanabilirim?

Postman, Insomnia gibi araçlar ya da komut satırındaki curl ile istek gönderebilirsiniz. Birçok API'nin dokümantasyonunda tarayıcıdan deneme imkânı da bulunur.

İlgili terimler

RESTfulRESTful, REST mimari ilkelerine uygun biçimde tasarlanmış sistemleri ve API'leri tanımlayan sıfattır. RESTful bir API kaynakları anlamlı adreslerle sunar ve işlemleri HTTP metotlarıyla ifade eder.API(Application Programming Interface)API (Application Programming Interface, uygulama programlama arayüzü), farklı yazılımların önceden tanımlanmış kurallarla birbirine istek gönderip cevap almasını sağlayan arayüzdür. Yapay zekâ modelleri de çoğu zaman API üzerinden kullanılır.JSONJSON (JavaScript Object Notation), verileri anahtar-değer çiftleri ve listeler hâlinde, hem insanların hem makinelerin kolayca okuyabileceği metin biçiminde saklayan ve taşıyan veri formatıdır.HTTP Durum Kodları(HTTP Status Codes)HTTP durum kodları, web sunucusunun tarayıcıdan gelen her isteğe verdiği yanıtın sonucunu bildiren üç haneli sayılardır. İsteğin başarılı olup olmadığını, yönlendirildiğini ya da hangi tarafta hata çıktığını gösterir.HTTPHTTP (Hypertext Transfer Protocol), tarayıcı gibi istemciler ile web sunucuları arasında web sayfası, görsel ve veri alışverişini düzenleyen iletişim protokolüdür. İstek ve yanıt mantığıyla çalışır.Metot(Method)Metot (method), nesne yönelimli programlamada bir sınıfa ya da nesneye ait olan fonksiyondur. Nesnenin verisiyle çalışır ve genellikle `nesne.metot()` biçiminde çağrılır; örneğin `hesap.para_yatir(500)` bir metot çağrısıdır.Yama(Patch)Yama (patch), bir yazılımdaki hatayı ya da güvenlik açığını düzeltmek için yayımlanan küçük kod değişikliğidir. Programın tamamını yeniden kurmadan yalnız sorunlu kısmı onarır ve genelde güncelleme olarak gelir.Sunucu(Server)Sunucu (server), ağ üzerinden başka bilgisayarlara ve cihazlara veri, dosya, web sayfası ya da uygulama hizmeti sağlayan bilgisayar veya yazılımdır. İstek gönderen tarafa istemci denir.