Как можно обрабатывать несколько запросов, используемых для заполнения моделей, с помощью RXJava Observables?

Мы используем ReactiveX и Retrofit в нашем сетевом стеке для асинхронной обработки всех запросов API.

Наша цель - создать один метод, который будет возвращать полностью заполненную коллекциюUser моделей. каждыйUser модель имеет списокPet объекты. Мы можем получить всеUser модели с одним запросом. Тем не мение,Pet модели должны быть запрошены в соответствииUser.

Получить пользователей просто:

// Service.java
@GET("users/?locationId={id}")
Observable<List<User>> getUsersForLocation(@Path("id") int locationId);

@GET("pets/?userId={id}")
Observable<List<Pet>> getPetsForUser(@Path("id") int userId);

// DataManager.java
public Observable<List<User>> getUsersForLocation(int locationId) {
    return api.getUsersForLocation(locationId);
}

public Observable<List<Pet>> getPetsForUser(int userId) {
    return api.getPetsForUser(userId);
}

Мы хотели бы найти какой-нибудь удобный (в стиле RX) способ циклическогоUser список, выбираяPetдля этого каждый пользователь, назначая ихUser и в конечном итоге возвращаяObservable<List<User>>.

Я довольно новичок в RX. Я просмотрел документацию и попытался использовать различные методы, такие какflatMap() а такжеzipоднако мне еще предстоит найти точную комбинацию преобразователей или объединителей, чтобы это произошло.

Ответы на вопрос(1)

Ваш ответ на вопрос