【发布时间】:2018-10-21 09:05:21
【问题描述】:
我已经看到了这个问题的其他线程,但无法得到任何正确的答案。
@POST("task/GetAllTasks")
Call<MyTask> getMyTasks(@Header("Authorization") String token, @Query("EmployeeId") String emp);
这就是我的调用方式,起初我认为这是由于 GET 请求数据限制,因为 GET 施加了数据限制,然后我将请求从 GET 更改为 POST,但问题仍然存在。
ApiUtils.getTaskService().getMyTasks(apiToken, employeeId).enqueue(new Callback<MyTask>() {
@Override
public void onResponse(Call<MyTask> call, Response<MyTask> response) {
// ... Successful code goes here
}
@Override
public void onFailure(Call<MyTask> call, Throwable t) {
//.. This block of code executing now :(
}
}
总是调用onFailure。我在 Postman 上测试了同样的请求,它正在返回数据。内容长度为 内容长度 →45720
它确实适用于少量数据,因为我已经在数据量较小的 Dev 数据库上对其进行了测试,但在 Live 环境中它会不断导致问题。
请提出解决方案,还是我应该为此离开 Retrofit 并转向原生 Android 库?
编辑:我们可以在 Retrofit 中增加请求超时吗,如果可以,那么如何?
【问题讨论】:
-
发布完整的堆栈跟踪老兄。如果没有堆栈跟踪,很难猜出发生了什么
-
面临这个异常
java.net.SocketTimeoutException: timeout
标签: android post get retrofit retrofit2