IllegalStateException: closed okhttp报错

版权声明:需要转载的朋友下面留个言 https://blog.csdn.net/weixin_42955598/article/details/85925918

IllegalStateException: closed okhttp报错

今天使用http调用接口报错 IllegalStateException: closed

2019-01-06 13:51:24.729 ERROR 8364 --- [nio-8080-exec-2] o.a.c.c.C.[.[.[/].[dispatcherServlet]    : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is java.lang.IllegalStateException: closed] with root cause

java.lang.IllegalStateException: closed
	at okio.RealBufferedSource.rangeEquals(RealBufferedSource.java:377)
	at okio.RealBufferedSource.rangeEquals(RealBufferedSource.java:371)
	at okhttp3.internal.Util.bomAwareCharset(Util.java:412)
	at okhttp3.ResponseBody.string(ResponseBody.java:173)

查看代码

//判断请求是否成功
            int status = response.code();
            logger.debug("请求状态码为:" + status);
            if(response.isSuccessful()){
                //打印服务端返回结果
                logger.debug("请求成功结果为:" + response.body().string());
                return response.body().string();
            }

在这里插入图片描述
可以看到 response.body().string() 出现了两次 , **response.body().string()只能请求一次,**请求过后,就会关闭,再次调用response.body().string()就会报close异常,所以String data = response.body().string();
使用变量接收数据,就可以解决这个问题。

猜你喜欢

转载自blog.csdn.net/weixin_42955598/article/details/85925918
今日推荐