如何从第一个API的id利用另一个API的嵌套调用,在android Studio中使用改造?



我试图从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) }

最新更新