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.