Merhaba. Bugünkü yazımda Flutter ile REST API kullanarak veri çekmeyi anlatacağım.
REST Nedir
REST, web tabanlı uygulamalar arasında iletişim kurmak için kullanılan bir yazılım mimarisidir ve HTTP protokolünü temel almaktadır.
REST API
REST API’ler ise herhangi bir uygulamanın diğer uygulamalarla iletişim kurması için kullanılabileceği bir arayüzdür. HTTP protokolü ile request ve response kullanarak çalışırlar. REST API’ler aracılığıyla Get, Post, Put ve Delete gibi isteklerle okuma,güncelleme,silme işlemleri yapmamızı sağlar.
Flutter-REST API
Uygulamalarımızda API kullanmak istiyorsak burada bulunan http paketini projemize ekleyip kullanmamız işimizi çok kolaylaştıracaktır.
Örnek olarak ben bir futbol API kullanacağım. Buradaki API’yi kullanacağım. Projemde FootballAPI adında bir class oluşturuyorum ve içerisine getAllLeaugeData adında bir async fonksiyon tanımlıyorum.
API’ye http isteği atacağız. Gelen sonucu ise response adında tanımladığım değişkene atacağız. await http.get() diyerek isteğimi oluşturuyorum.
get metodu içerisine Uri ve headers koymamız gerekmekte. Peki bunları nereden alacağız.
API’yi incelediğimizde burada headers ve url bulunmakta. http.get() metodumuza da Uri ve headers koymamız gerekiyor. Koyacağımız headers API dökümanında bulunan headers olacaktır.
Dökümandaki url ise bir string. Ancak bizim Uri kullanmamız gerekiyor. Buradaki url değerini alıyoruz ve get() metodu içerisinde Uri.parse(url) olarak koyuyoruz.
Uri.parse, URL’nin dönüşmesini ve düzgün bir biçimde işlemesini sağlamaktadır ve bir string ifade alır.
Veri çekme işlemi aslında temelde bu kadar. Ancak kontrol etmemiz gereken birkaç durum var.
Veriyi doğru çekebildik mi? Bunu anlamak için statusCode değerine bakmamız lazım. http.get() işlemini response adında bir değişkene atamıştık. response.statusCode diyerek işlemin başarılı olup olmadığını anlayabiliriz. Eğer ki statusCode değerimiz 200 dönüyorsa yaptığımız işlem sonucu API’den doğru bir dönüş aldığımızı anlayabiliriz.
Verileri nasıl göstereceğiz? Genelde API tarafından döndürülen veriler JSON formatında olur. API’den gelen değeri response değişkenimize attığımızı biliyoruz. İşlemin başarılı olduğunu da statusCode ile doğrulayabiliyoruz. Verileri göstermemiz için ise json.decode(response.body) diyerek response içerisindeki body değerini json.decode() ile kullanılabilir hale getiriyoruz.
Flutter ile API kullanarak veri çekme işlemlerini dilim döndüğü kadar anlatmaya çalıştım. Şuan sadece console üzerinde gösterdik. Bir sonraki yazımda FutureBuilder ile bu verileri uygulamamızda nasıl kullanabileceğimizi anlatacağım.
Kaynak kodlarına buradan ulaşabilirsiniz. Okuduğunuz için teşekkür ederim. Herkese iyi çalışmalar.
0 yorum