Envoyer une requête HTTP

Dart:
Envoyer une requête HTTP

Comment faire :

Dart inclut le paquet http, une manière puissante et pratique de travailler avec des ressources HTTP. Pour commencer, incluez-le dans votre fichier pubspec.yaml :

dependencies:
  http: ^0.13.3

Ensuite, importez-le dans votre code Dart pour commencer à faire des requêtes :

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

void main() async {
  var url = Uri.parse('https://jsonplaceholder.typicode.com/todos/1');
  var réponse = await http.get(url);

  if (réponse.statusCode == 200) {
    print('Corps de la réponse: ${réponse.body}');
  } else {
    print('Échec de la requête avec le statut : ${réponse.statusCode}.');
  }
}

Un exemple de sortie pour une requête réussie pourrait ressembler à ceci :

Corps de la réponse: {
  "userId": 1,
  "id": 1,
  "title": "delectus aut autem",
  "completed": false
}

Pour des requêtes plus complexes, telles que les requêtes POST avec un corps JSON, vous feriez ce qui suit :

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

void main() async {
  var url = Uri.parse('https://jsonplaceholder.typicode.com/posts');
  var réponse = await http.post(
    url,
    headers: {"Content-Type": "application/json"},
    corps: jsonEncode({
      "title": 'foo',
      "body": 'bar',
      "userId": 1,
    }),
  );

  if (réponse.statusCode == 201) {
    print('Statut de la réponse: ${réponse.statusCode}');
    print('Corps de la réponse: ${réponse.body}');
  } else {
    print('Échec de la création d’un nouveau post. Statut: ${réponse.statusCode}');
  }
}

Un exemple de sortie pour la requête post pourrait être :

Statut de la réponse: 201
Corps de la réponse: {
  "title": "foo",
  "body": "bar",
  "userId": 1,
  "id": 101
}

Ces exemples illustrent les requêtes HTTP GET et POST de base à l’aide du paquet http en Dart. Ce paquet couvre la plupart des besoins pour envoyer des requêtes HTTP, y compris des scénarios plus complexes avec des en-têtes et du contenu de corps.