为啥颤振 API 响应正文不在控制台中打印?

Posted

技术标签:

【中文标题】为啥颤振 API 响应正文不在控制台中打印?【英文标题】:Why does flutter API response body not print in console?为什么颤振 API 响应正文不在控制台中打印? 【发布时间】:2021-09-23 22:18:47 【问题描述】:

我正在尝试使用 dart http package 发送 API 请求。我是 Flutter 开发的新手(但是我已经在 java 中进行了广泛的编码)。我想知道为什么响应正文不会在控制台中打印。我在 pubscpec.yaml 中添加了依赖项并在页面顶部导入。导入没有问题,因为我在运行时没有错误(没有任何红线和正确自动完成的单词) 这是用于发送请求的函数的代码

void getData() async 
    var url = Uri.parse("http://api.openweathermap.org/data/2.5/weather?lat=35&lon=139&appid=110a603f26f6f7e2ade19f00669dc8fa");
    var response = await http.get(url);
    print('Response body: $response.body');
  

注意:API 密钥是 openweathermap 提供的默认开发者密钥 当我运行时,我没有收到任何错误,只是一个干净的控制台,运行选项卡下没有打印任何内容 谢谢!

【问题讨论】:

这能回答你的问题吗? print() statement not printing to console in flutter ios app within android Studio 没有,因为在同一个项目中,我已经打印成功了 过多的print 消息可能会被丢弃(这就是为什么您应该改用debugPrint 的原因)。即使使用debugPrint,很长的消息也可能会被操作系统截断。 我尝试运行您的代码,但打印效果很好。您能否提供更多信息,例如调用该方法的上下文? Android Manifest 似乎有问题,我已经添加了互联网权限,但 Android Manifest 本身充满了错误。每次我创建一个新的flutter项目,甚至从github导入一个,它都可以正常工作,android manifest中没有错误,现在它充满了错误并且“无法解析任何符号” 【参考方案1】:

您可以打开 Flutter 开发工具并在网络选项卡下检查您是否收到响应, 可能是 await 从未完成并且执行从未到达 print 语句, 所以它不会被打印出来

【讨论】:

以上是关于为啥颤振 API 响应正文不在控制台中打印?的主要内容,如果未能解决你的问题,请参考以下文章

为啥 awesome_print 不在我的 Rails 4.2 控制台中打印出格式化输出?

为啥运行 mux API 测试时响应正文为空?

在颤振中显示仅产品名称的列表,使用json格式的woocommerce api数据

Google Cloud Platform - AI Platform:为啥调用 API 时会得到不同的响应正文?

为啥在测试 RSPEC 时 JBuilder 不返回 JSON 中的响应正文

颤振:如何在 api 正文中传递文本字段值