Sobes.tech
Junior

API ile etkileşim kurmak sizin için ne kadar kolay?

sobes.tech yapay zeka

AI'dan gelen yanıt

Farklı API türleriyle (REST, GraphQL) etkileşim, Flutter'ın yerleşik ve üçüncü taraf kütüphaneleri sayesinde oldukça basittir.

Ana adımlar şunları içerir:

  1. HTTP istekleri için bir istemci seçimi:

    • Standart http paketi.
    • dio (daha fonksiyonel, interceptörler, önbellekleme desteği ile).
  2. Veri modellerinin tanımlanması: API tarafından döndürülen veri yapısına uygun Dart sınıflarının oluşturulması. Otomatik kod üretimi için paketler sıklıkla kullanılır:

    • json_serializable JSON'un serileştirilmesi/deserileştirilmesi için.
  3. Veri alma mantığının uygulanması: İstemciyi kullanarak GET, POST, PUT, DELETE istekleri göndermek ve yanıtları işlemek.

    import 'package:http/http.dart' as http;
    import 'dart:convert';
    
    Future<MyDataModel> fetchData(String url) async {
      final response = await http.get(Uri.parse(url));
    
      if (response.statusCode == 200) {
        // JSON'u ayrıştır
        final dynamic jsonResponse = jsonDecode(response.body);
        return MyDataModel.fromJson(jsonResponse); // Otomatik kod kullanımı
      } else {
        // Hata yönetimi
        throw Exception('Veriler yüklenemedi');
      }
    }
    
  4. Hata ve yükleme durumlarının yönetimi: API yanıtına göre UI durumunu (yükleniyor, başarı, hata) yönetmek.

  5. Güvenlik: HTTPS kullanımı, gerekirse JWT, OAuth2 gibi yetkilendirme tokenlarının işlenmesi.

GraphQL için genellikle graphql_flutter gibi paketler kullanılır. Bu paketler sorguların ve aboneliklerin yürütülmesini ve önbelleğin yönetimini kolaylaştırır.

Genel olarak, iyi belgelenmiş kütüphaneler ve araçlar sayesinde Flutter'da API ile etkileşim standart hale gelir ve zorluk çıkarmaz.