Flutter JSON 错误 - 没有为 StreamedResponse 类型定义 getter 主体

问题描述 投票:0回答:1

我正在尝试检索 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());
  }
}

响应似乎没有正文

android flutter dart
1个回答
0
投票

在尝试解码响应之前,您需要读取响应流并将其转换为

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 {
   ...
© www.soinside.com 2019 - 2024. All rights reserved.