如何获取 Retrofit 异常的响应体?

9 浏览
0 Comments

如何获取 Retrofit 异常的响应体?

我正在尝试通过Retrofit在Android应用中连接到rest服务。我能够接收到响应。但是当服务返回错误响应时,会发生转换异常,并且现在我想根据响应体执行一些操作。但是我得到的响应体是空的。但是Retrofit日志中有一个错误消息。为什么会发生这种情况。

代码:

public void failure(RetrofitError retrofitError) {
    String response = null;
    TokenError tokenError = (TokenError) retrofitError.getBodyAs(TokenError.class);
    response = tokenError.getErrorDetails();
    Log.e(TAG, response);
    if (response != null && response.contains("Invalid Token ID")) {
        GroupDataProvider.getInstance().onFailure();
    }
}

在这里,我得到的tokenErrornull。我不知道为什么?我需要在rest适配器中设置一些东西,以便将响应传递给Retrofit错误对象吗?

0