タイトルが少し曖昧だとわかりましたが、私が持っている問題はかなり複雑です(私にとっては少なくとも)。RxAndroid Observable Populateサブリスト
APIからリストをロードするObservableがあります。ユーザの応答は、このようになります。
{
"status": "Successful",
"count": 2,
"response": [{
"_id": "abc",
"email": "[email protected]",
"surname": "Surname",
"firstname": "Firstname",
"posts": [
"123",
"456",
"789"]
}]
,...
}
をして、ポストの応答を:
{
"status": "Successful",
"count": 7,
"response": [{
"_id": "123",
"name": "Post 1"
}, {
"_id": "456",
"name": "Post 2"
}, {
"_id": "789",
"name": "post 3"
}]
}
私はすでに正しく応答をマッピングしObservable<Post>
を返すメソッドを持っています。
今私が持っている問題:私はposts
IDのリストで、ユーザーのリストを取得することができますが、私は私が私の方法(Observable<Post> getPost(String id))
Iから照会することができ、実際のオブジェクトと、そのリストを移入したいです
これまでのところ、レスポンスをList<User>
にマップするためには、リスト内の各ユーザーについて、IDに関連付けられたPosts
を取得する必要がありますList<String
:
public Observable<List<User>> getUsers() {
return apiService.getUsers()
.flatMap(userResponse -> Observable.from(userResponse.users).toList())
.flatMap(user -> Observable.from(users))
.toList();
}
上記はList<User>
で、これは私が必要とするものです。私が実行し続ける問題は、各Postアイテムを発行し、最終的にはすべて3つのUserアイテム(すべての最初のユーザー)を返します。では、リスト内の各アイテムのポストを取得し、実際のポストを表すモデル内の別のリストに適用するために、いくつかの変換を実行する方法はありますか?
おかげで、混乱して申し訳ありません。私はRxJavaを初めて使っています。
EDIT: が解決 -
た後でも、私は解決策を見つけた(EDITをチェックする) – Boots