Dart:
Eine HTTP-Anfrage senden

Wie geht das:

Dart beinhaltet das http Paket, eine leistungsstarke und bequeme Möglichkeit, mit HTTP-Ressourcen zu arbeiten. Zuerst inkludiere es in deiner pubspec.yaml-Datei:

dependencies:
  http: ^0.13.3

Importiere es dann in deinen Dart-Code, um mit dem Senden von Anfragen zu beginnen:

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

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

  if (response.statusCode == 200) {
    print('Antwortinhalt: ${response.body}');
  } else {
    print('Anfrage fehlgeschlagen mit Status: ${response.statusCode}.');
  }
}

Beispiel-Ausgabe für eine erfolgreiche Anfrage könnte so aussehen:

Antwortinhalt: {
  "userId": 1,
  "id": 1,
  "title": "delectus aut autem",
  "completed": false
}

Für komplexere Anfragen, wie POST-Anfragen mit einem JSON-Körper, würdest du Folgendes tun:

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

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

  if (response.statusCode == 201) {
    print('Antwortstatus: ${response.statusCode}');
    print('Antwortinhalt: ${response.body}');
  } else {
    print('Erstellung eines neuen Posts fehlgeschlagen. Status: ${response.statusCode}');
  }
}

Beispiel-Ausgabe für die POST-Anfrage könnte sein:

Antwortstatus: 201
Antwortinhalt: {
  "title": "foo",
  "body": "bar",
  "userId": 1,
  "id": 101
}

Diese Beispiele zeigen grundlegende HTTP GET- und POST-Anfragen unter Verwendung des http-Pakets in Dart. Dieses Paket deckt die meisten Bedürfnisse für das Senden von HTTP-Anfragen ab, einschließlich komplexerer Szenarien mit Headern und Inhaltskörpern.