今天在做项目网络请求用的Okhttp+retrofit,原本是没有问题的,后来加了拦截器以后,前台回调失败
**onError:java.lang.IllegalStateException: closed**
代码如下
Response originalResponse = chain.proceed(request);
String body=originalResponse.body().string();
return originalResponse;
找了好久没有找到问题。最后发现说,body只能读取一次,读取完以后就关闭掉了。
解决办法:
return originalResponse.newBuilder()
. body(ResponseBody.create(MediaType.parse("UTF-8"), body))
.build();