Последовательные запросы с использованием асинхронных методов Retrofit - PullRequest
0 голосов
/ 15 апреля 2020

Я разрабатываю приложение, в котором необходимо синхронизировать данные в определенное время. Я использую Retrofit, чтобы установить соединение с API и отправить / получить данные, но каждый запрос должен быть сделан только после завершения предыдущего запроса. Как это возможно сделать? Извините за мой Engli sh спасибо!

Интерфейс с запросами:

public interface DownloadService {

@GET("ciclo/current")
Call<JsonObject> getCicloAtual(@Header("Authorization") String token);

@GET("ciclo/last")
Call<JsonObject> getCicloLast(@Header("Authorization") String token);

@GET("imoveis")
Call<JsonObject> getImoveis(@Header("Authorization") String token);

@GET("pessoas")
Call<JsonObject> getPessoas(@Header("Authorization") String token);}

Клиент:

public class RetrofitClient {
private static String BASE_URL = "http://xxx.xxx.x.x:8000/api/";
private static Retrofit retrofit;

public static Retrofit getInstance(){
    if(retrofit == null) {
        return retrofit = new Retrofit.Builder()
                .baseUrl(BASE_URL)
                .addConverterFactory(GsonConverterFactory.create())
                .build();
    }
    return retrofit;
}

public static AuthService authService() {return  getInstance().create(AuthService.class);}

public static DownloadService downloadService() {return  getInstance().create(DownloadService.class);}

public static SyncService syncService(){
    return  getInstance().create(SyncService.class);
}}
...