【发布时间】:2017-06-19 20:14:50
【问题描述】:
我有一个改造服务,包含如下界面
public interface ApiService {
@GET("/users/me")
Observable<Account> authenticateUser(@Header("Authorization") String auth);
@GET("/membership/{userId}")
SubscriptionStatus getSubscriptionStatus(@Path("userId") String userId);
}
我想定义一个方法来进行api调用以获取包含userId的Account,然后使用此ID进行第二次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
}
【问题讨论】:
标签: android retrofit rx-java retrofit2 rx-java2