我正在尝试检索 API 调用后返回的值,但收到此错误消息:
没有为“StreamedResponse”类型定义 getter“body”。 尝试导入定义“body”的库,将名称更正为现有 getter 的名称,或者定义名为“body”的 getter 或字段。
这是我的代码:
loginUser() async{
try{
final uri = Uri.parse(API.loginURL);
var request = http.MultipartRequest('POST', uri);
//Send Input field data
request.fields['email'] = emailController.text;
request.fields['password'] = passwordController.text;
var response = await request.send();
if(response.statusCode == 200){
var resBody = jsonDecode(response.body);
bool success_flag = resBody['success'];
print("Login successful!");
}else{
print("Login failed!");
}
}
catch(e){
print(e.toString());
}
}
响应似乎没有正文
在尝试解码响应之前,您需要读取响应流并将其转换为
String
:
if( response.statusCode == 200) {
var responseData = await http.Response.fromStream(response);
var resBody = jsonDecode(responseData.body);
bool success_flag = resBody['success'];
print("Login successful: $success_flag");
} else {
...