REST API Nedir ?

REST,  Representational State Transfer ‘in kısaltmasıdır.  Representational State Transfer yani Temsili Durum Transferi, HTTP metotlarını kullanan, esnek bir yapıya sahip, istemci – sunucu arasındaki basit bir veri iletişim yoludur. Katı kurallara sahip bir protokolden ziyade bir mimari stildir.

Durumsuzdur (stateless). Yani o anki kullanıcı durumu ya da geçmişinden habersizdir.  REST standartlarında istemci-sunucu arasında taşınan verilerde ekstra başlık bilgileri saklanmaz, istemciye ait detaylar bulunmaz, bu bilgiler istemci-sunucu arasında taşınmaz. Dolayısıyla servis yönelimli uygulamalarda REST bize lightweight bir çözüm yapısı sunar.

REST mimarisi kullanılan dil ve format bakımından gayet esnektir. JSON, XML hatta TEXT dosyasıyla bile veri alışverişi yapabilmemizi sağlar. JSON ile aynı veriyi çok daha düşük boyutla taşıyabilir. Web serviste çalışacak metot URI (Uniform Resource Identifier) yani Tekdüzen Kaynak Tanımlayıcısı ile HTTP üzerinden çağırılır.

API Nedir ?
API(Application Programming Interface), herhangi bir uygulamanın belli işlevlerini diğer uygulamalarında kullanabilmesi için oluşturulmuş bi modüldür. Uygulamaların birbirleriyle konuşmasını sağlar.

REST ile yazılmış bir servisle çalışmak için ihtiyacınız olan tek şey URL. Bir URL’yi çağırırsınız, URL size JSON ve ya XML döndürür, dönen cevabı parse edersiniz ve servis entegrasyonunuz tamamlanır. Yani teorik olarak istemci uygulama REST bir servisin yapısını ve detaylarını bilmek zorunda değildir. REST’in bu basit standartları dışında uyulması gereken bir kural yoktur, son derece esnek bir yapısı vardır.

RESTful bir servisi çağırmak için karşınızdaki kurum size www.alanadi.com/product/123 gibi bir URL verir ve bu adresi çağırdığınızda ID değeri 123 olan ürünün detaylarının size JSON olarak döneceğini söyler. Size kalan tek iş bu URL’yi back-end’de WebRequest vb. sınıflarla ve ya istemcide AJAX fonksiyonları vasıtasıyla çağırmak ve gelen JSON verisini uygun formatta görüntülemek olacaktır.

HTTP istekleri sunucuya hangi tür işlem yapılacağını söyleyen farklı metotlara sahiptir. Toplam 4 temel metot vardır. Bunlar:

  • GET :  Belirtilen verinin URL’lerini ve ya detaylarını listelemede kullanılır.
  • PUT : Bütün birverinin bir başka veriile güncellemek için kullanılır. Örnek: Twitter api’de kullanıcının paylaştığı gönderiyi düzenlemek olabilir.
  • POST : Yeni bir veri oluşturmak için kullanılır ve yeni oluşturan verinin URI’si döndürülür. Örnek : Twitter api’de yeni gönderi paylaşma olabilir.
  • DELETE : Belirtilen veriyi silmek için kullanılır. Örneğin Twitter api kullanarak bir gönderiyi silmek.

REST Api’de Dönen HTTP Status Kodları

 200 OK: Veri listeleme sonuçları 200 ile dönüş yapılır.

201 Creates: Veri eklendiği zaman verinin kendisi ile 201 dönülür.

204 No Content: Veri silindiği zaman 204 dönülüyor.

400 Bad Request: Kayıt ekleme ya da güncelleme isteklerinde gönderilen veri validasyondan geçemediyse neden geçemediği hakkında bilgiyle beraber 400 http statusuyla dönülür.

403 Forbidden: Authorization dayalı bir işlem yapılıyorsa bu api uç noktasında işlem yapmaya çalışan kişinin bu işlemi yapmaya yetkisi yoksa 403 status kodu döndürülür.

401 Unauthorized: Api ucunuzda bu işlemi yapmak için login olmak zorunlu ise ve apiye istek yapan kullanıcı login değil ise bu http status ile cevap verilir.

404 Not Found: Bu http status  kullanıcının istek yaptığı url yok ise ya da url deki veri geçersiz ise bu hatayı alırız. 

429 Too Many Requests: Bu http statusunu saatlik ya da dakikaklık kısıtlanan sınırdan fazla istek yaparsak bu http statusunu alırız. 

 

 

About This Author

Süleyman Demirel Üniversitesi Bilgisayar Mühendisliği öğrencisiyim. Programlama, Web Teknolojileri ve Sosyal Medya ile ilgileniyorum. Bildiğim,öğrendiğim,gezip gördüğüm şeyleri buradan paylaşıyorum.

2 Comments

You can post comments in this post.


  • Basit ama iyi bir bilgilendirme olmuş.

    Adem Akın 10 ay ago Reply


  • Teşekkür ederim 🙂

    Onur Ekkazan 9 ay ago Reply


Post A Reply