Flutter – Structure of an API POST Call

Tiempo de lectura: < 1 minuto

Reading time: < 1 minutes

The structure for making a call from Flutter to an API and sending parameters to receive data is as follows:

First, we declare and initialize a variable with the API route, in this case, I call it uri:

final uri = 'https://name/api/route';

Then, I declare the headers, content-type:

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

I create the body with the necessary data to be sent for the call:

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

final jsonBody = jsonEncode(body);

Next, I make the call and store the response in a variable called response:

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

To check if the call was successful, I verify the statusCode and print the response data in JSON format to the console with the following line of code:

if (response.statusCode == 200) {

      print(json.decode(response.body));
  
} else {
      print('Error in request: ${response.statusCode}');

}

The complete code for the POST call is shown below:

final uri = 'https://name/api/route';
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 in request: ${response.statusCode}');
}

Hope this helps! Have a great day.

Leave a Comment