Flutter- estructura de una llamada a API -POST

Tiempo de lectura: < 1 minuto

La estructura para realizar una llamada desde flutter a una api y mandar parámetros para recibir datos es de la siguiente manera:

primero declaramos e inicializamos una variable con la ruta a la api, en este caso la llamo uri:

final uri = 'https://nombre/ruta/api';

Depués declaro las cabeceras, tipo-contenido

final headers = {
      'Content-Type': 'application/json',
  };

Creo el body con los datos que son necesarios enviar para hacer la llamada.

 final body = {
      'email': email,
      'password': password,
    };

final jsonBody = jsonEncode(body);

A continuación genero la llamada y guardo la respuesta en una variable a la que he llamado response.

 final response =
        await http.post(Uri.parse(uri), headers: headers, body: jsonBody);

Para saber si la llámada se realizado correctamente, compruebo el statusCode e imprimo por consola en modelo json la respuesta de datos con la siguiente línea de código.

if (response.statusCode == 200) {

      print(json.decode(response.body));
  
} else {
      print('Error en la solicitud: ${response.statusCode}');

}

El código completo de la llamada POST lo muestro a continuación:

  final uri = 'https://nombre/ruta/api';
    final body = {
      'email': email,
      'password': password,
    };
    final headers = {
      'Content-Type': 'application/json',
    };
    final jsonBody = jsonEncode(body);
    final response =
    await http.post(Uri.parse(uri), headers: headers, body: jsonBody);
    if (response.statusCode == 200) {
      print(json.decode(response.body));
    } else {
      print('Error en la solicitud: ${response.statusCode}');
    }

Espero que les sirva de ayuda !! Les deseo un feliz día.

Deja un comentario