REST API KULLANIM AMAÇLARI VE METOTLARI

Damla Yazıcı
Turk Telekom Bulut Teknolojileri
4 min readAug 25, 2022

Rest API’nin kelime olarak anlamından başlayarak Rest API nedir, nasıl kullanılır, nerelerde ihtiyaç duyulur gibi konulara değineceğim. REST API gereksinimimizi ilk önce zihnimizde canlandırmaya çalışalım.

Yaptığımız iş gereği kullandığımız cihazlardan veya hizmet veren sitelerden spesifik bilgiler alıp onları kendi ihtiyacımıza göre kullanmamız gerekebilir. Hatta daha basit düşünelim ve tarayıcımızdan Netflix’in sunucusuna bir istek yaptıktan sonra bize Netflix’in sonuçları dönmesini düşünelim; istediğimiz film/dizi artık tarayıcımızda gözükmekte. Yahut bir envanterimiz var diyelim ve bu envanter bilgilerini alan API birçok ihtiyacımızı karşılayabilir ve envanteri kullanan her bir bireyin ihtiyacı karşılanmış olabilir.

Bu verilere ulaşmak için hedef adrese bir bağlantı gerçekleştirerek ilgili veritabanına/kaynağa ulaşmalıyız. Tabi bu işlemi hedefimizin belirlediği şekilde, API prosedürüne uygun API yazarak gerçekleştirebiliriz. API ile kaynağımıza olan erişimi kimlere ve hangi politikayla açacağımız bizlere kalmış bir tercihtir. Bu API politikaları özel(private), genel(public) ve partner politikaları olabilir. API’ler platform bağımsız çalışırlar.

  • Genel (Public) API:

Herkes tarafından kullanılabilir; üçüncü tarafların API üzerinden uygulama geliştirmesine imkan verir.

  • Özel (Private) API:

Dahili kullanım içindir; API üzerinde en çok kontrolü API sahibine verir.

  • Partner API:

Sadece belirli iş ortaklarıyla paylaşılır. Gelişmiş kimlik doğrulama, yetkilendirme ve güvenlik protokolleri gerektirebilir.

Rest ismini REpresentational State Transfer’den almaktadır. Kelimelerin anlamına baktığımızda temsili durum transferi çıkmaktadır. Şimdi bu ifadelerin anlamını biraz daha aklımızda canlandırmaya asıl ifadesini düşünmeye başlayalım.

Bir adrese istek yaptığımızı ve json formatında veri döndüğünü farz edelim. Bizler bu veriyi bir kereye mahsus aldık diyelim; bu bilgiler içinde nick name, doğum günü gibi kullanıcı bilgileri olsun. Kullanıcının bu bilgilerinin güncellediği senaryoda artık elimizde var olan yani önceden almış olduğumuz bilgi artık geçersizdir. Bize canlı bir veri akışı yani güncel veri gerekli. Bunun için Rest API kullanılır. Rest API güncel verileri ilgili adreslerden json veya xml formatında almamızı sağlar. Bir örnek daha vermek gerekirse girdiğimiz sitelerin arayüzlerinde bulunan anlık hava durumu bilgileri de buna örnektir. Her gün, her saat o sıcaklık değerleri değişebilmekte ve Rest API ile güncel değerler alınmaktadır. Yani burada aynı adrese yaptığımız aynı istek bize güncel veriyi; istek yaptığımız andaki veriyi döner. Rest kelime açılımında barındırdığı state yani durum kelimesinin sebebi budur; o anın, o durumun güncel verisi verilir. Transfer yani aktarım kelimesiyle de bu verinin bize json veya xml formatında dönülmesi kastedilmiştir. Representational kelimesi ise sunumu ima etmektedir. Biz bir istekte bulunduk ve o istek sonucunda bize bir veri geldi; bu veri bize sunuldu. Dönen json/xml formatındaki veri presentation yani sunum oluyor. Sonuç olarak REST, bir kaynağa http protokolünü kullanarak yapılan isteğe karşılık gelen veri transferidir.

REST İsteklerinde Sık Kullanılan HTTP Metotları

REST ile yapılan isteklerde yani yazılan URL’lerde kullanılan HTTP protokolleri GET, POST, PUT, DELETE, PATCH, HEAD, OPTIONS, vb. olabilir. Ben sık kullanılan GET, POST ve DELETE metotlarından bahsedeceğim.

  1. GET, veri listelemek; görüntülemek için kullanılır. Yapılan bu istekte body kısmı olmaz, yalnızda header olur.

Yazdığımız API’lerin kontrolünü yapmak yani verinin sağlıklı bir şekilde o istek ile alınıp alınmadığına bakmak için POSTMAN kullanabiliriz.

Şimdi bize API deneme imkanı amacıyla var olan https://fakerestapi.azurewebsites.net/index.html sitesinden GET metoduna uygun bir URL seçelim ve POSTMAN’de çıktılarını görelim.

Kullanacağımız Request URL:

https://fakerestapi.azurewebsites.net/api/v1/Authors

POSTMAN arayüzünde aşağıdaki gibi URL’i yazıp ardından sitede bize belirtilen HTTP header bilgisi olan “Accept: text/plain” i Headers kısmına ekliyoruz.

Artık “Send” butonuna basıp sonucu görebiliriz.

Resimde görüldüğü üzere cevap olarak json formatta veri dönülmüştür ve durum kodu 200 OK’dur.

POSTMAN e alternatif olarak Google Chrome Web Mağazası -> json formatter kullanabiliriz; eklenti olarak tarayıcıya ekleyebiliriz. Ardından eklentiyi kullanarak URL’i yazabilir ve çıktılarını görebilirsiniz.

2. POST, istek yapılan adrese veri gönderirken kullanılır. Cevap olarak istek yaptığımız adres bize gönderdiğimiz verileri ilgili yerlere işlemiş olarak yanıt döner. Bu metot ile verileri body kısmında göndeririz.

Kullanacağımız Request URL:

https://fakerestapi.azurewebsites.net/api/v1/Authors

Body kısmında ise aşağıda belirtilen değerleri json formatında gönderiyoruz.

Cevap olarak aşağıdaki çıktı yine json formatta dönülmüştür ve http durum kodu 200’dür.

3. DELETE, istek yapılan adreste veri silmek için kullanılır ve body kısmında değer gönderilmez. URL’de yazılır. Cevap olarak sadece header bilgileri döner.

https://fakerestapi.azurewebsites.net/api/v1/Activities/2

Artık bu adres yani Activities altındaki 2 sayfası ulaşılamaz olur.

Teşekkürler,

Kaynakça:

https://app.patika.dev/

https://www.redhat.com/en/topics/api/what-are-application-programming-interfaces#overview

--

--