Future<DataModel?> submitData(String name, int age) async {
var response = await http.post(Uri.http("localhost:3000", "users"), body: {
"name" : name,
"job" : age,
});
var data = response.body;
print(data);
if(response.statusCode == 201){
String responseString = response.body;
return dataModelFromJson(responseString);
}
else return null!;
}
I want to Post the age as an int but couldn't find a way to do that, the only thing i have to do is to convert the age to a String which i don't want to do. Is there any solution???
You can you the jsonEncode
function from the dart:convert
library.
body: jsonEncode(
{
"name": name,
"job": job,
"age": age,
},
Make sure to import
import 'dart:convert';
Your final HTTP request will look like this:
var response = await http.post(
Uri.http("localhost:3000", "users"),
body: jsonEncode({
"name": name,
"job": job,
"age": age,
}),
);
I fixed this problem with Dio.
first i added this line to pubspec.yaml:
dependencies:
dio: ^4.0.6
make sure to import it:
import 'package:dio/dio.dart';
My final HTTP request:
var dio = Dio();
var response = await dio.post('http://localhost:3000/users', data: {
"name" : name,
"job" : age,
});
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.