Http Kütüphanesi ve Flutter

Furkan Çukur
2 min readJan 28, 2020

--

Öğrenmenin en iyi yolu paylaşmayı benimsiyor ve Flutter maceramızda yeni bir makale ile karşınıza çıkıyorum.

Bu makalenin yabancı kaynaklarda bulabilirsiniz Türkçe olarak da ben yorum katmak ve paylaşmak istedim.

Birazdan okuyacağınız örnekleri JSONPlaceholder üzerinden yapacağız. Siz de eğer denemek isterseniz burası kullanmak için idealdir

En temelde istek başlıkları GET, POST, PUT, DELETE olarak inceleyeceğim umarım yararlı olur. https://pub.dev/packages/http

Kurulum

Projemizin pubspec.yaml alanına http kütüphanemizi ekliyoruz.

dependencies:
http: ^0.12.0+4

Ekleyerek Packages Get diyerek projemize yüklüyoruz.

import ‘package:http/http.dart’;

Çalışma yapacağımız dart dosyasına yukarıdaki import işlemini yapıyoruz.

GET request

_makeGetRequest() async {
String url = 'https://jsonplaceholder.typicode.com/posts';
Response response = await get(url);
int statusCode = response.statusCode;
Map<String, String> headers = response.headers;
String contentType = headers['content-type'];
String json = response.body;
}

Kaynaktan verileri almak için bu yöntem kullanılır. Burada bizim kullandığımız https://jsonplaceholder.typicode.com/ base url. Arkasından gelenler ise farklı parametre ile istediğimiz verilenle şekillendirerek devam edelim. Burası bize JSON döndürmektedir. JSON her dilde farklı şekilde çevrilir. Flutter için burası size yardımcı olabilir.

Bu JSON dosyadan nesne üreterek kullanabiliriz.

POST request

_makePostRequest() async {  
String url = 'https://jsonplaceholder.typicode.com/posts';
Map<String, String> headers = {"Content-type": "application/json"};
String json = '{"title": "Hello", "body": "body text", "userId": 1}';
Response response = await post(url, headers: headers, body: json);
int statusCode = response.statusCode;
String body = response.body;
// {
// "title": "Hello",
// "body": "body text",
// "userId": 1,
// "id": 101
// }

Kaynağa veri göndermek için bu yöntem kullanılır. Post request ile göndereceğimiz argümanları alıyoruz. Post isteğin bize verdiği status_code ile kontrolünü sağlıyoruz.

PUT request

_makePutRequest() async {  
String url = 'https://jsonplaceholder.typicode.com/posts/1';
Map<String, String> headers = {"Content-type": "application/json"};
String json = '{"title": "Hello", "body": "body text", "userId": 1}';
Response response = await put(url, headers: headers, body: json);
int statusCode = response.statusCode;
String body = response.body;
// {
// "title": "Hello",
// "body": "body text",
// "userId": 1,
// "id": 1
// }

Kaynaktaki veriyi güncellemek için bu yöntem tercih edilir. Put request ile kaynaktaki verileri yeni argümanlar ile güncelliyoruz.

DELETE request

_makeDeleteRequest() async {  
String url = 'https://jsonplaceholder.typicode.com/posts/1';
Response response = await delete(url);
int statusCode = response.statusCode;}

Kaynaktaki verileri silmek için bu yöntem kullanılır.

Temel olarak yöntemler bu şekildedir. Birbirlerinin aralarında çok ayrıştırıcı farklar bulunmamaktadır bunu başka bir makalede yazmayı düşünüyorum.

Umarım çalıştıklarımı doğru bir şekilde anlatabilmişimdir. Öğrenmenin en güzel yolu anlatmak || yazmak olduğu fikrine inanıyorum.

Herkese iyi kodlamalar.

--

--