У меня есть сервис модифицированного, содержащего следующий интерфейсВыполнения последовательных вызовов API с Модернизированный и возвращение наблюдаемой
public interface ApiService {
@GET("https://stackoverflow.com/users/me")
Observable<Account> authenticateUser(@Header("Authorization") String auth);
@GET("/membership/{userId}")
SubscriptionStatus getSubscriptionStatus(@Path("userId") String userId);
}
Я хотел бы определить метод, чтобы сделать вызов апи, чтобы получить счет, который содержит USERID, а затем используйте этот идентификатор, чтобы сделать второй вызов API, чтобы получить статус подписки на пользователей. SubscriptionStatus содержит логическое значение, и если оно истинно, мне бы хотелось, чтобы метод возвращал Observable.
Это, как я пошел об этом до сих пор:
public Observable<Account> doLogin(ApiService service , String credentials) {
return service.authenticateuser(base64) // gets Account observable
.doOnNext(account -> {
currentAccount = account; // setting the Account Variable
})
.flatMap(account -> service.getSubscriptionStatus(account.getUserId())) // get Account Subscription status
... //unsure where to go from here I need to check
//the subscriptionStatus object and return account
//observable if condition is valid
}
Спасибо, что это сработало. Знаете ли вы, как я могу обрабатывать и возвращать ошибки для каждого вызова API ? –