Restful Api Nedir? Ne İşe Yarar? Standartları Nelerdir?

Restful api nedir? Öncelikle api kavramından bahsederek, Restful api hakkında daha detaylı bilgi erişimine sahip olabiliriz.

Api, uygulama programlama arayüzü olarak bilinmektedir. Bir yazılımın başka bir yazılım için tanımlanmış olan işlevleri yerine getirmesi api sayesinde sağlanmaktadır. Api; işletim sistemlerinde, web uygulamalarında, donanımlarda ve veritabanlarında kullanılabilir. Restful api yapısından önce öğrenmemiz gereken birkaç terim de şu şekildedir:

  • URL, Endpoint, HTTP, HTTP Request.

Endpoint, api üzerinde belirli bir amaç için oluşturulan metodlara verilen isimdir. Http, günümüz teknolojisinde en yaygın kullanılan istemci ve sunucu arası haberleşme protokolüdür. Http Request ise api üzerinde oluşturulan çeşitli özelliklere sahip endpointlerin, Http protokolü kullanılarak talep iletmesidir.

Restful Api Nedir?
Restful Api Nedir?

Restful Api Nedir?

Restful standardı katı kuralları olan ve daha eski olan SOAP servislere çözüm niteliğinde geliştirilmiştir. Yenilik arayışına yön veren ve daha esnek kurallara sahip Result api bundan ötürü oldukça fazla tercih edilmektedir. Birçok dil için kendi API’nizi yazabilir ve yine dillere bağımlı olmadan internet sitesi, uygulama ve servis entegresi yapabilirsiniz. Genellikle Restful olarak geliştirilmiş bir API üzerinden JSON tipine dönüşüm işlemi tercih edilmektedir. Fakat isteğe göre XML, HTML, CSV veya farklı bir formatta dönüş yapabilirsiniz.

Restful API üzerinde bulunan HTTP protokolünde yer alan çeşitli tipler etkin olarak kullanılabilir. Bu tipler şu şekildedir: “PUT, GET, POST, DELETE”. Programcıya ve göze hoş gelen linkleri bu sayede kolaylıkla oluşturmak mümkün.

Restful Api Ne İşe Yarar? 

Restful Api ne işe yarar? İstemci ve sunucu arasında pek çok formatta (XML, HTML, JSON, TEXT) veri taşınmasını ve bu sayede uygulamaların haberleşmesini sağlar. Bunun için ise web servislerin Rest standartlarına uygun olarak yazılması gerekir. Bu Servislere Restful servisler denir.

Restful Api ne işe yarar? 

  • İşlemci ve sunucu arasında iletişimi sağlayan mimaridir.
  • SOAP, RPC vs. kompleks mimariler yerine HTTP protokolü kullanır.
  • SOAP gibi katı standartları yoktur. Bu sayede daha kolay bir kullanım sunar.
  • Restful api ile SOAP arasında katı standart farkı vardır. Fakat SOAP üzerinde yer alan katı kurallar güvenliği daha hızlı bir şekilde sağlanır. Bu süreç Rest servislerde daha karışık haldedir.
  • Proxy ve WSDL’ye gereksinim duymaz.

Restful Api Standartları Nelerdir?

Web servislerin rest standartlarına uygun bir biçimde yazılması ile Restful servisler meydana gelmektedir.

Yer alan standartlar zorunlu kurallar değildir fakat Restful üzerine servis geliştirirken uygulanması kabul görmüş kurallardır. Geliştirirken bu kurallara uygun bir şekilde geliştirmeniz, şirketler tarafından daha çok tercih edilmektedir. Peki Restful Api standartları nelerdir?

  1. Herhangi bir api yaparken aynı sınıfa ait işlemleri grup altında toplamaya özen göstermelisiniz. Örnek olarak API üzerinden kullanıcılara erişmek ve işlem yapmak “users” grubu içerisinde olmalı.
  2. Sınıfı temsil eden ve belirli amaçları olan endpoint leri çoğul isimle oluşturmaya özen gösterin. Örnek: resultapi.com/user yerine resultapi.com/users kullanmalısınız.
  1. Oluşturmuş olduğunuz endpoint için doğrudan kendisine atacağımız GET istekleri, sınıfa ait tüm listeyi dönmeli.
  2. Herhangi bir sınıfa ait kayıta ulaşmak istediğimiz zaman, ait olduğu sınıfa onu temsil eden id değeri ile istek atmalıyız. Attığımız bu id değer isteği karşılığında bize o sınıfa ait bilgileri döndürmeli. Örnek: resultapi.com/users/1 – resultapi.com/ASDA1D94-35DS-2265-5594 
  1. Sınıfa ait yeni bir kayıt oluşturmak istediğimiz zaman doğrudan o sınıfa POST isteği ile beraber yeni bilgileri body içerisine göndermeliyiz.

HTTP Request Nelerden Oluşur?

HTTP request nelerden oluşur? Burada yer alan bir HTTP isteğinin en temel taşıdığı bilgiler şu şekildedir:

  1. Request-Line

HTTP isteğinin türünü, http/https protokolünün bilgisi ve hangi url’ye yapılacağı burada belirlenir.

  1. Header

Yapılacak olan istek ve isteğe ait bilgileri içeren parametreler header kısmında bulunur. Gönderilmesi zorunlu değildir. Aynı zamanda birden fazla header parametresi de gönderilebilir.

  1. Body

PATCH, PUT, POST gibi API üzerinden işlemler yapılmasını istiyor isek bu bilgileri body alanında çağırmalıyız. Genellikle Restful bir API’de bu bilgilerin gönderilmesi JSON olarak tercih edilir.

Kullanmış olduğunuz internet tarayıcısında geliştirici seçeneklerini F12 tuşuna basarak görüntüleyebilirsiniz. İçerisinde Network Tab kısmının altında arka planda yapılan istekler görülmektedir.

HTTP Request Türleri

HTTP request türleri nelerdir? API’lerde hem anlamlı URL adresleri oluşturmak hem de karmaşıklığı aza indirmek için HTTP istek türleri bulunmaktadır. Bu istek türleri ise şu şekilde verilebilir:

  1. GET

Get isteği veri çekmek için kullanılmaktadır.

  1. POST

Post isteği yeni bir kayıt oluşturmak için kullanılır.

  1. PUT

Put isteği var olan bir kaydı güncellemek istediğimizde kullanılır.

  1. DELETE

Delete isteği bir kaydı silmek için kullanılır.

  1. PATCH

Patch isteği kayıtta belirli bir kısımda güncelleme yapmak için kullanılmaktadır. Eğer tüm kaydı güncellemek istiyorsak PUT isteğini kullanmalıyız.

Herhangi bir adrese istek yaptığımız zaman o isteğin türünü de belirtmeliyiz. Örnek olarak internet tarayıcısı üzerinden bir internet sitesine girdiğimiz zaman o adrese erişmek için tarayıcımız sunucuya GET isteği yapar. GET isteği yaptığımız zaman kaynak sunucu bize o sitenin html dökümanını gösterir. Başka bir örnek vermek gerekirse üyelik formu doldurma sırasında, formdaki verileri kaydet dediğiniz zaman da aynı işlem gerçekleşir. Kaydet butonuna tıkladığımız zaman internet tarayıcımız, kaynak sunucuya POST (gönder) isteğinde bulunur.

Restful api nedir? sorusunun yanı sıra Restful API’ye dair birçok sorunun cevabını internet sitemiz üzerinden bulabilirsiniz.

Yorum yapın