我需要从我的flutter应用程序向api发送一个GET请求,并在主体中使用json参数。发送带有json正文的GET请求。 当我在POSTMAN中尝试该请求时,它就会起作用。
var url = 'linkofapi;
var response = await http.get(url);
答案 0 :(得分:0)
尝试一下
Future<http.Response> createUser({name, email, password, gender, dob}) {
return http.get(
'http://$BASE_API_URL/users',
headers: <String, String>{
'Content-Type': 'application/json; charset=UTF-8',
},
body: jsonEncode(<String, String>{
'name': name,
'email': email,
'password': password,
'gender': gender,
'dob': dob,
}),
);
}
答案 1 :(得分:0)
首先,请参阅GET
操作并非旨在发送数据。它旨在接收数据,因此方法名称为GET
,因此http.get()
没有body
。
如果最需要发送数据,则需要使用Uri
向query parameter
方法中添加http
。
请阅读有关Uri.http抖动的详细信息。
您可以执行以下操作来实现所需的目标:
// Please note "...." for more information, please do not use this as is
// Just wanted to give a heads up
final query = {
'name': your_name,
'email': your_email,
'password': your_password
...
};
var url = 'linkofapi;
// Now you use the query to pass it to. your get method
final uri = Uri.http(url, '/path', query);
// adding headers to the query
final header = {HttpHeaders.contentTypeHeader: 'application/json'};
// doing the operation finally
final response = await http.get(uri, headers: header);