天天看點

Okhttp+retrofit遇到的問題:java.lang.IllegalStateException: closed

今天在做項目網絡請求用的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();