阿里云Serverless 中 FC 3 读取response body 的时候报错该怎么解决?Caused by: java.io.IOException: closed
at okio.RealBufferedSource$inputStream$1.read(RealBufferedSource.kt:154) ~[okio-jvm-3.0.0.jar:na]
at java.base/java.io.InputStream.read(InputStream.java:218) ~[na:na]
at com.aliyun.teautil.Common.readAsBytes(Common.java:188) ~[tea-util-0.2.21.jar:na]
... 73 common frames omitted
依赖的问题,更新一下这个版本
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>tea-openapi</artifactId>
<version>0.3.1</version>
</dependency>
这个错误提示"Caused by: java.io.IOException: closed"表示你正在尝试从一个已经关闭的流中读取数据。这可能是由于你的代码在处理完响应后没有正确地关闭流导致的。
在OkHttp中,当你调用Response.body().source().close()时,会关闭响应体源,之后就不能再从这个源中读取数据了。如果你在关闭源后仍然尝试读取数据,就会抛出这个异常。
解决这个问题的方法是在处理完响应后正确地关闭流。你可以修改你的代码,确保在调用Response.body().source().close()后不再尝试从源中读取数据。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。