HTTP: Communication Réseau

La communication réseau est essentielle pour de nombreuses applications mobiles, permettant d'échanger des données avec des serveurs distants. Dans Flutter, vous pouvez utiliser le package http pour effectuer des requêtes HTTP et gérer les réponses. Voici comment vous pouvez l'utiliser pour différentes méthodes HTTP :

Comprendre le Protocole HTTP

Le protocole HTTP (Hypertext Transfer Protocol) est un protocole de communication utilisé pour transférer des données sur le Web. Il utilise une architecture client-serveur où le client envoie une requête au serveur, qui répond avec une réponse.

Méthode GET

La méthode GET est utilisée pour demander des données à partir d'une ressource spécifiée. Par exemple, pour récupérer des données à partir d'une API, vous pouvez utiliser la méthode GET :

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

Future<void> fetchData() async {
  var response = await http.get(Uri.parse('https://example.com/api/data'));
  if (response.statusCode == 200) {
    // Traitement des données de réponse
  } else {
    // Gestion des erreurs
  }
}

Méthode POST

La méthode POST est utilisée pour soumettre des données à une ressource spécifiée, souvent utilisée pour créer de nouvelles entrées. Par exemple, pour envoyer des données à une API, vous pouvez utiliser la méthode POST :

Future<void> createData() async {
  var response = await http.post(
    Uri.parse('https://example.com/api/data'),
    body: {'key': 'value'},
  );
  if (response.statusCode == 201) {
    // Traitement des données de réponse
  } else {
    // Gestion des erreurs
  }
}

Méthode PUT

La méthode PUT est utilisée pour mettre à jour des données sur le serveur. Par exemple, pour mettre à jour des données sur une API, vous pouvez utiliser la méthode PUT :

Future<void> updateData() async {
  var response = await http.put(
    Uri.parse('https://example.com/api/data/1'),
    body: {'key': 'updated_value'},
  );
  if (response.statusCode == 200) {
    // Traitement des données de réponse
  } else {
    // Gestion des erreurs
  }
}

Méthode DELETE

La méthode DELETE est utilisée pour supprimer des données sur le serveur. Par exemple, pour supprimer des données sur une API, vous pouvez utiliser la méthode DELETE :

Future<void> deleteData() async {
  var response = await http.delete(Uri.parse('https://example.com/api/data/1'));
  if (response.statusCode == 204) {
    // Succès de la suppression
  } else {
    // Gestion des erreurs
  }
}

Gestion des Erreurs

Il est important de gérer les erreurs lors de l'envoi de requêtes HTTP. Vous pouvez utiliser des blocs try/catch pour capturer les exceptions et gérer les erreurs de manière appropriée.

try {
  var response = await http.get(Uri.parse('https://example.com/api/data'));
  if (response.statusCode == 200) {
    // Traitement des données de réponse
  } else {
    // Gestion des erreurs HTTP
  }
} catch (e) {
  // Gestion des erreurs de connexion
}

En comprenant les différentes méthodes HTTP et en utilisant le package http de manière appropriée, vous pouvez créer des applications Flutter qui communiquent efficacement avec des serveurs distants et fournissent une expérience utilisateur fluide.

Dernière mise à jour