使用errorBody()在GsonResponseBodyConverter上的EOFException

时间:2017-05-24 15:41:38

标签: error-handling httpresponse retrofit2 eofexception android gson

我正在关注DeserializeErrorBody.java作为指南

当我使用Converter<ResponseBody, Error> errorConverter时,错误是我的错误的POJO类,我会得到一个EOFException试图errorConverter.convert(response.errorBody());日志为:java.io.EOFException: End of input at line 1 column 1 path$...

如果我要记录erroBody.string(),则会打印服务器发送的错误{"message":"Incorrect user or password"}

此外,response.code()的错误代码为401response.body()null

如果正文不为空,为什么会出现此错误?

1 个答案:

答案 0 :(得分:0)

我使用Observable<ResponseBody>作为Retrofit界面,就像我使用Call<ResponseBody&gt;仅检查response.isSuccessful(). 事实证明我需要使用Observable<Response<Void>>来跳过导致EOFException的空体的反序列化。