改进1.9如何从同步请求中获取http响应状态

时间:2016-03-14 23:11:11

标签: android multithreading retrofit

我有一些继承的代码,并使用改进来执行同步Web服务请求。它实际上都是主线程,但调用本身在该子线程上是同步的。基本上我继承的是有人创建了一个子线程然后完成了以下调用:

TaskService taskService = ServiceGenerator.createService(TaskService.class);  
List<Task> tasks = taskService.getTasks(); 

其中createService是一个改进调用,用于返回一堆任务。请记住这是改装1.9,我怎样才能从中获得http响应?我需要知道它是否通过http响应代码传递或失败?我的最终目标是在整个网络呼叫中根据响应代码进行分析。

2 个答案:

答案 0 :(得分:0)

您可以通过以下方式激活Retrofit的记录:

RestAdapter.Builder builder = new RestAdapter.Builder()  
    .setEndpoint(API_LOCATION)
    .setLogLevel(RestAdapter.LogLevel.FULL) 
    .setClient(new OkClient(new OkHttpClient()));

详细了解如何从here和Retrofit 2 here

登录Retrofit 1.9

答案 1 :(得分:0)

我能做的最好的事情就是如果一切正常则假设为200,然后尝试捕获capture retrofitError,然后从中获取状态代码。

 try{
TaskService taskService = ServiceGenerator.createService(TaskService.class);  
List<Task> tasks = taskService.getTasks(); 
 //got a response, assume 200 ok...
}

catch (RetrofitError error){
Log.d(error.getBody().getStatus() + "");
}