我试图从GenresDataModel的响应中获取类型的id,并希望该id与MovieDataModel的嵌套api响应进行比较。
这里我创建了一个接口方法来调用retrofit api。这里我调用了
@GET("3/discover/movie")
Call<MovieDataModel> MOVIE_DATA_MODEL_CALL(
@QueryMap HashMap<String, String> params
);
例如,第一个API包含带有id和名称的genre数据。
{
"genres": [
{
"id": 28,
"name": "Action"
},
{
"id": 12,
"name": "Adventure"
}
]
}
第二个API有我需要在嵌套API中比较的数据。
"release_date": "2013-08-30",
"genre_ids": [
99,
10402
],
创建类型API模型,并设置第二个API的参数
在第二个API调用中,我无法将genre Id与movieGenreId进行比较
我试图将其存储在Hashmap中,但是它在对象,列表以及字符串方面的数据类型上失败了。
我该怎么办?从第一个API的响应中获取id;比较它们在嵌套的(第二个API响应)另一个API的响应与"GenresId"
函数命名关闭,将其重命名为fun getMovieData()
而不是MOVIE_DATA_MODEL_CALL
你需要Retrofit返回一个Flow
,然后使用flatMap
调用另一个。
service.getMovieData().flatMap { service.getSecondCall(it.id) }