小编Mar*_*arc的帖子

Retrofit连接失败将RetrofitError.response返回为null

使用Retrofit 1.6.0,OkHTTP 2.0.0和OkHTTP-UrlConnection 2.0.0.

我正在使用Retrofit对不存在的URL进行服务POST.正如预期的那样调用失败回调.但是,RetrofitError参数没有响应.我真的想抓住使用返回的HTTP状态代码

error.getResponse().getStatus()
Run Code Online (Sandbox Code Playgroud)

但由于getResponse()返回null,我不能.

为什么getResponse()为null,如何获取状态?

谢谢.

另外,我收到的错误是UnknownHostException,正如预期的那样.重复:我期待这个错误.我想知道如何获取HTTP状态代码或者为什么error.getResponse()返回null.

编辑:这是一些代码:

RestAdapterBuilderClass.java
    RestAdapter restAdapter = new RestAdapter.Builder()
            .setEndpoint("http://badURL.DoesntMatter/");
            .setRequestInterceptor(sRequestInterceptor)
            .setLogLevel(RestAdapter.LogLevel.FULL)
             .build();
    sService = restAdapter.create(ServiceInterface.class);

ServiceInterface.java
    @POST("/Login")
    void login(@Body JsonObject body, Callback<String> callback);

CallbackClass.java
    @Override
    public void failure(RetrofitError error) {
        if (error.getResponse() == null) {

            // error.getResponse() is null when I need to get the status code
            // from it.

            return;
        }
    }
Run Code Online (Sandbox Code Playgroud)

java android retrofit okhttp

15
推荐指数
2
解决办法
1万
查看次数

标签 统计

android ×1

java ×1

okhttp ×1

retrofit ×1