Flutter HTTP paketi, Flutter uygulamalarında kullanılabilecek en temel paketlerden biridir. HTTP paketiyle birlikte API uzantılarına istek atabilir veya kendi kurduğunuz sunucunun içerisine CRUD işlemleri yapabilirsiniz. HTTP paketi uygulamanızın dış dünyayla olan ilişkisini güçlendirir. 🙂 Kullanmak için Android’te Manifest içerisinde INTERNET PERMISSION isterken, iOS tarafında izin istemenize gerek yoktur.
WorldClockAPI üzerinden HTTP istekleri nasıl gönderilir göstermeye çalışacağım.
flutter: post Response: {"$id":"1","message":"The requested resource does not support http method 'POST'."}
flutter: get Response: {"$id":"1","currentDateTime":"2021-01-24T05:05-05:00","utcOffset":"-05:00:00","isDayLightSavingsTime":false,"dayOfTheWeek":"Sunday","timeZoneName":"Eastern Standard Time","currentFileTime":132559383359482443,"ordinalDate":"2021-24","serviceResponse":null}
Gördüğünüz üzere WorldClockAPI Post isteğini kabul etmediği için bir mesaj döndürdü. Get isteğini kabul ettiği için de istediğimiz veriyi döndürdü. Await ve async olmadan yaptığımız bu iki isteği bir de async kullanarak yapalım.
Basit bir HTTP isteği nasıl yapılır gördük. Peki Response içerisinde ne tür veriler bize döndürülüyor hiç düşündünüz mü? JSON içeriğinin uzunluğu olan Content Length, başlıkları aktarmak için Headers, döndürülen verinin hangi kodla döndürüldüğünü anlamak için Status Code gibi parametreleri içerir. Bilmiyorsanız buyrun: HTTP Status Kodları ne anlama gelir?
HTTP ile çoklu istek atmak
HTTP istekleri response aldıktan sonra kendi kendine kapanır. response.persistentConnection yazarak bakabilirsiniz buna. Bazı durumlarda açtığınız bağlantı kanallarının bir durum gerçekleşene kadar açık kalması gerekebilir. Persistent bağlantıyı sağlamak için HTTP kütüphanesinden http.Client() objesinden faydalanıyoruz.
HTTP ile yapılabilecek diğer şeyler
HTTP sınıfıyla beraber POST, GET, DELETE, PUT, HEAD, PATCH gibi birçok işlem yapabilirsiniz. Kendi oluşturacağınız API arayüzleriyle beraber bu istek tiplerini amaçlarınıza uygun şekilde kullanabilirsiniz. Dart programlama diliye beraber oluşturacağınız bir API servisini Heroku üzerinde rahatlıkla deploy edebilirsiniz. Çok yakında bu konu hakkında bir yazı paylaşacağım. O zamana dek takipte kalın. 🙂
Okuyucuya Not
Merhaba okuyucu! Blogum son zamanlarda yüksek trafik almaya başladı ve bu durumdan memnunum fakat aynı zamanda siz ziyaretçileri tatmin edememekten endişeliyim. 🙂 Eğer yazılarım ile ilgili bir tavsiyeniz olursa mail adresimden bana ulaşabilir veya Twitter üzerinden direct message gönderebilirsiniz. Github’ta örnek olarak yaptığım projelere göz atmak isterseniz de bu linki kullanabilirsiniz. Umarım bu ziyaretinizle size bir şeyler katabilmişimdir.
Sağlıcakla kalın!