Flutter'da Token ile Rest Api Kullanımı

Güncelleme tarihi: 7 Ara 2020

Merhabalar. Bu yazımda flutter da bearer token ile şifrelenmiş bir Json verisini nasıl çekip kullanabileceğimizi elimden geldiği kadar anlatmaya çalışacağım. Eksik ya da fazla bir yer olursa yorum olarak yazabilirsiniz.

Hazırsanız başlayalım :)

 

Öncelikle Bearer Token ve Json Api nedir ondan bahsedelim.


Bearer Token - Json Api


JSON API, ilgili veri kaynaklarının getirilmesi ve işlenmesi için istemci tarafından oluşturulacak isteklerin nasıl yapılması gerektiğini ve sunucunun bu isteklere hangi şekilde yanıt vermesi gerektiğini belirler.
Json Api, istemciler ve sunucular arasındaki istek sayısının ve giden/gelen veri boyutunun azaltılması için tasarlanmıştır. Json Api, oluşturulacak veri değiş-tokuşu için Json Api medya türünün (application/vnd.api+json) kullanımını gerektirir.

Json api'yi flutter projemizde http package ile kullanıyoruz. Bu package sayesinde json api'den çok rahat bir şekilde verimizi çekebiliyoruz.


Bearer Token için json veriye ulaşmak için kullanılan bir anahtar diyebiliriz. Ulaşmak isteyen kişiyi doğrulamaz. Veriye ulaşmak için bearer token yeterlidir.


Entegrasyon


Evet şimdi flutter projemizi oluşturuyoruz. İlk olarak http paketini pubspec.yaml dosyasına eklememiz gerekiyor. Çünkü http package kullanarak json verilere ulaşabiliyoruz. Http package http request işlemlerini gerçekleştirebildiğimiz çok kullanışlı paketlerden biridir. Diğer paketlere de buradan ulaşabilirsiniz.



Devamında data model sınıfımızı oluşturuyoruz. Json nesnesini kendi model nesnemizle yönetiyor olacağız.


Örnek olarak json da üç tane alanımız olsun ve bunları datamodel.dart dosyasına yazalım. (Projenin daha anlaşılır ve rahat geliştirilebilmesi için projeyi dosyalara ayırmak her zaman avantajdır.)


Sonra constructor ile bu modelimizi yapılandırıyoruz. ve json olarak gelen veriyi bir nesneye çekiyoruz.



Burada iki yardımcı nesneye daha ihtiyac var. Biri ilgili nesnenin jsondan okunması için, diğeri DataModel haline getirmek için. Daha sonra modelimizi map formatına çevirerek json veriyi map formatında kullanıyoruz. Aşağıda modelin tam hali görülmektedir. Eğer API lerle çalışma hakkında çok bilgi sahibi değilseniz flutter.dev ya da diğer kaynaklardan araştırmanızı öneririm.