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.