2017-10-16 147 views
-3

我能夠在Retrofit中使用日誌攔截器來獲取響應,但我的onResponse沒有被調用。onResponse未被調用Retrofit

我使用的兩個模型類如下所示,還有兩個名爲Result和JobTitle。

MainResponse.class

public class MainResponse { 

@SerializedName("status") 
@Expose 
private String status; 
@SerializedName("data") 
@Expose 
private Data data; 

public String getStatus() { 
    return status; 
} 

public void setStatus(String status) { 
    this.status = status; 
} 

public Data getData() { 
    return data; 
} 

public void setData(Data data) { 
    this.data = data; 
} 
} 

Data.class

public class Data { 

@SerializedName("messages") 
@Expose 
private List<Object> messages = null; 
@SerializedName("result") 
@Expose 
private Result result; 

public List<Object> getMessages() { 
    return messages; 
} 

public void setMessages(List<Object> messages) { 
    this.messages = messages; 
} 

public Result getResult() { 
    return result; 
} 

public void setResult(Result result) { 
    this.result = result; 
} 
} 

回調的代碼如下所示:

Call<MainResponse> call = imsClient.fetchStatus(userCredentials); 
    call.enqueue(new Callback<MainResponse>() { 
     @Override 
     public void onResponse(Call<MainResponse> call, Response<MainResponse> response) { 
      Log.e("Ei", "In response"); 
      MainResponse mainResponse = response.body(); 
      Data data = mainResponse.getData(); 
      Result result = data.getResult(); 
      Toast.makeText(PrimaryLogin.this, "Welcome" + result.getFirstName() + result.getLastName(), Toast.LENGTH_SHORT).show(); 
     } 

     @Override 
     public void onFailure(Call<MainResponse> call, Throwable t) { 


     } 
    }); 

回調函數被調用失敗,但沒有如果執行成功的調用,會發生事情。我無法弄清楚,任何幫助將不勝感激。

日誌:

{"status":"success","data":{"messages":[],"result":{"clinicCode":"Medics","firstName":"Charles","lastName":"Sanders","officeId":0,"id":7834,"startDate":1508142509926,"timeZoneId":0,"userDetailId":6,"userName":"charles","jobTitle":{"id":1,"text":"Doctor","count":1},"isSuperUser":false,"clientId":10,"token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJjbGluaWNDb2RlIjoiTWVkaWNzIiwiZW1haWwiOm51bGwsImVuZERhdGUiOm51bGwsImZpcnN0TmFtZSI6IkNoYXJsZXMiLCJsYXN0TmFtZSI6IlNhbmRlcnMiLCJvZmZpY2VJZCI6MCwiaWQiOjc4MzQsInNwZWNpYWx0eUlkIjpudWxsLCJzdGFydERhdGUiOjAsInRpbWVab25lSWQiOjAsInVzZXJEZXRhaWxJZCI6NiwidXNlck5hbWUiOiJjaGFybGVzIiwib2ZmaWNlIjpudWxsLCJzcGVjaWFsdHkiOm51bGwsInRpbWVab25lIjpudWxsLCJ1c2VyRGV0YWlsIjpudWxsLCJwYXJhbWV0ZXJzIjpudWxsLCJqb2JUaXRsZSI6bnVsbCwiaXNTdXBlclVzZXIiOmZhbHNlLCJjbGllbnRJZCI6MTAsImNvZGUiOm51bGwsInRva2VuIjpudWxsLCJlbXBsb3llZUlkIjoxNCwicHJvdmlkZXJJZCI6bnVsbCwiaXNBY3RpdmUiOmZhbHNlLCJpc0xvY2tlZCI6ZmFsc2UsImxhc3RQYXNzd29yZENoYW5nZWQiOjAsImxvY2tlZENvZGVJZCI6bnVsbCwibG9ja2VkRGF0ZVRpbWUiOm51bGwsInBhc3N3b3JkIjpudWxsLCJwYXRpZW50SWQiOm51bGwsInByZWZMYW5nSWQiOm51bGwsInNlc3Npb25JZCI6NzgzNCwiY3JlYXRlZEJ5IjpudWxsLCJlbXBsb3llZSI6bnVsbCwibGFzdE1vZGlmaWVkQnkiOm51bGwsImxvY2tlZENvZGUiOm51bGwsInBhdGllbnQiOm51bGwsInByZWZMYW5nIjpudWxsLCJhcHBsaWNhdGlvbk5hbWUiOm51bGwsIm1hY2hpbmVJZCI6bnVsbCwibGFuZ0lkIjpudWxsLCJjb3VudHJ5Q29kZSI6IlVTIn0.B-C9YWEHWQJue83TnGUa3dnmQYz0ngdNPUqH_6AG8tU","employeeId":14,"isActive":false,"isLocked":false,"lastPasswordChanged":0,"sessionId":0}}} 
+0

你確定這個迴應有一個有效的HTTP狀態嗎?當你添加[日誌攔截器](https://github.com/square/okhttp/tree/master/okhttp-logging-interceptor)時會發生什麼? – thepoosh

+0

我已經添加了日誌 –

+0

可能是你解析錯誤,所以你可以寫'onFailure'方法登錄 –

回答

0

我得到了這個問題。在Result模型中,我將數據存儲爲Integer,並且響應時間很長,因此錯誤被調用。