İçeriğe geç
parazade

RESTful Nedir?

Yayın: · Son güncelleme:

RESTful Nedir? Kısaca

RESTful, 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.

RESTful nedir?
İçindekiler
  1. RESTful nedir?
  2. İyi ve kötü tasarım örneği
  3. RESTful ne demek, her API böyle olmak zorunda mı?

RESTful, "REST ilkelerine uygun" anlamına gelen bir nitelemedir. Bir API'nin RESTful olduğu söylendiğinde, adreslerinin, metotlarının ve yanıtlarının REST yaklaşımının kurallarını izlediği kastedilir.

RESTful nedir?

REST bir mimari tarzdır; RESTful ise bu tarzı uygulayan somut tasarımdır. Bir API'yi RESTful yapan başlıca özellikler şunlardır:

  • Adresler eylemleri değil, kaynakları anlatır (/siparisler gibi).
  • İşlem türü HTTP metoduyla belirtilir: GET okur, POST oluşturur, DELETE siler.
  • Sunucu istemcinin önceki isteklerini hatırlamaz; her istek kendi içinde tamdır.
  • Yanıtlar uygun HTTP durum kodlarıyla döner.

İyi ve kötü tasarım örneği

Fark en kolay adreslerde görülür:

RESTful olmayan RESTful
GET /siparisSil?id=15 DELETE /siparisler/15
POST /yeniMusteriEkle POST /musteriler
GET /getirUrunListesi GET /urunler

Soldaki sütunda eylem adreste saklanmış. Sağdakinde ise adres yalnızca kaynağı gösterir, ne yapılacağını metot söyler. Bu tutarlılık, API'yi ilk kez kullanan bir geliştiricinin dokümantasyona daha az bakmasını sağlar.

RESTful ne demek, her API böyle olmak zorunda mı?

Pratikte "RESTful" kelimesi gevşek kullanılır ve JSON döndüren hemen her HTTP API'si için söylenir. Tam uyum zorunlu değildir; önemli olan tutarlılık ve öngörülebilirliktir.

Sık yapılan hatalardan biri, her durumda 200 kodu döndürüp hatayı yanıt gövdesinin içine yazmaktır. İstemci yazılımları ve izleme araçları durum koduna baktığı için bu yaklaşım hataların gözden kaçmasına yol açar. Bulunamayan kayıt için 404, hatalı istek için 400 döndürmek daha doğrudur.

Sıkça Sorulan Sorular

RESTful ne demek, Türkçesi var mı?

RESTful, "REST ilkelerine uygun" anlamında kullanılan bir sıfattır. Türkçede yerleşmiş bir karşılığı yoktur; genellikle olduğu gibi kullanılır.

RESTful API ile GraphQL arasında nasıl seçim yapılır?

Kaynakları basit ve standart biçimde sunmak için RESTful yapı genellikle yeterli ve yaygındır. İstemcilerin çok farklı veri kombinasyonlarına ihtiyaç duyduğu durumlarda GraphQL daha esnek olabilir.

İlgili terimler

REST APIREST 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.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.GraphQLGraphQL, istemcinin bir API'den tam olarak hangi verileri istediğini tek bir sorguyla belirtmesini sağlayan sorgu dili ve çalışma ortamıdır. Facebook'ta geliştirildi, 2015'te açık kaynak olarak yayımlandı.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.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.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.İstemci(Client)İstemci (client), bir ağ üzerinden sunucuya istek gönderip ondan veri veya hizmet alan cihaz ya da yazılımdır. Web tarayıcısı, mobil uygulama ve e-posta programı yaygın istemci örnekleridir.