CodeBlanks Logo Icon CodeBlanks

API çağrısı

http.get ile hava durumu API'sine istek atarsın.

http.get ile istek

Hava durumu verisini bir API'den çekmek için http paketinin get fonksiyonunu kullanırsın. Bu fonksiyon bir Future<Response> döndürür; await ile bekleyip response.body ile JSON dizesine erişirsin.

import 'package:http/http.dart' as http;

Future<String> havaGetir() async {
  final uri = Uri.parse('https://api.example.com/hava/istanbul');
  final response = await http.get(uri);
  return response.body;
}

Uri.parse ile URL

http.get bir Uri bekler; düz dizeyi Uri.parse ile Uri'ye çevirirsin. URL'yi doğru biçimlendirmek isteklerin başarılı olmasını sağlar.

final uri = Uri.parse('https://api.example.com/hava/ankara');
final response = await http.get(uri);
print(response.statusCode);  // 200

Uygulama havaDurumuGetir fonksiyonu

havaDurumuGetir adında async bir fonksiyon yaz. Uri.parse ile URL'yi Uri'ye çevir, http.get ile istek at ve response.body'yi döndür. main içinde URL'yi Uri.parse ile çözüp yazdır.

Başlangıç kodu

main.dart
import 'package:http/http.dart' as http;

// havaDurumuGetir fonksiyonunu yaz
// Uri.parse ile URL'yi çevir
// http.get ile isteği at ve response.body'yi döndür

void main() {
  // URL'yi Uri.parse ile çöz ve yazdır
}

Örnek çözüm

main.dart
import 'package:http/http.dart' as http;

Future<String> havaDurumuGetir() async {
  final uri = Uri.parse('https://api.example.com/hava/istanbul');
  final response = await http.get(uri);
  return response.body;
}

void main() {
  final uri = Uri.parse('https://api.example.com/hava/istanbul');
  print(uri);
}

Beklenen çıktı

https://api.example.com/hava/istanbul

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 http.get çağrısı ne döndürür?

  • Future<Response> Doğru cevap
  • Widget
  • void
  • String

Açıklama: http.get bir Future<Response> döndürür; await ile bekleyince Response nesnesini alırsın. void dönüş değeri yoktur, String doğrudan değildir (response.body ile erişilir), Widget arayüz içindir.

2 http.get çağrısı

Soru
import 'package:http/http.dart' as http;

Future<String> getir() async {
  final uri = Uri.parse('https://api.example.com/hava/izmir');
  final response = await ____;
  return response.body;
}
Cevap
import 'package:http/http.dart' as http;

Future<String> getir() async {
  final uri = Uri.parse('https://api.example.com/hava/izmir');
  final response = await http.get(uri);
  return response.body;
}

Açıklama: http.get bir Uri alır ve istek atar; await ile Response beklenir. post farklı bir istektir, boş çağrı eksiktir, jsonDecode URI almaz.

3 http paketi parçaları

Kavram Anlamı
http.get API'ye istek atar
Uri.parse dizeyi Uri'ye çevirir
response.body yanıt gövdesi
await Future'ı bekler

Orta seviye bölümündeki tüm dersler