Enviando una solicitud HTTP

Dart:
Enviando una solicitud HTTP

Cómo hacerlo:

Dart incluye el paquete http, una forma poderosa y conveniente de trabajar con recursos HTTP. Primero, inclúyelo en tu archivo pubspec.yaml:

dependencies:
  http: ^0.13.3

Luego, impórtalo en tu código Dart para comenzar a hacer solicitudes:

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('Cuerpo de la respuesta: ${response.body}');
  } else {
    print('La solicitud falló con el estado: ${response.statusCode}.');
  }
}

Un ejemplo de salida para una solicitud exitosa podría verse así:

Cuerpo de la respuesta: {
  "userId": 1,
  "id": 1,
  "title": "delectus aut autem",
  "completed": false
}

Para solicitudes más complejas, como solicitudes POST con un cuerpo JSON, harías lo siguiente:

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('Estado de la respuesta: ${response.statusCode}');
    print('Cuerpo de la respuesta: ${response.body}');
  } else {
    print('Falló al crear una nueva publicación. Estado: ${response.statusCode}');
  }
}

Un ejemplo de salida para la solicitud post podría ser:

Estado de la respuesta: 201
Cuerpo de la respuesta: {
  "title": "foo",
  "body": "bar",
  "userId": 1,
  "id": 101
}

Estos ejemplos muestran solicitudes HTTP GET y POST básicas usando el paquete http en Dart. Este paquete cubre la mayoría de las necesidades para enviar solicitudes HTTP, incluidos escenarios más complejos con encabezados y contenido del cuerpo.