Java Retrofit 多请求单响应

标签 java android retrofit

大家好,我有一个 api 端点,它只接受一个参数“name”: https://api.xxxxx.com/v1/test/ {名称}/

我一直在提出多个请求 (例如 https://api.xxxxx.com/v1/test/ALEX/https://api.xxxxx.com/v1/test/ELISA/https://api.xxxxx.com/v1/test/JOE/ )

我需要解析回收器 View 中这 3 个调用的所有数据,每个请求位于不同的行中。

我是否可以发出 3 个请求,然后仅获取 1 个 JSON 响应,以便我可以解析它?实现这一目标的最佳方法是什么?

最佳答案

我假设您的改造 API 接口(interface)中有类似以下代码的内容

@GET("v1/test/{name}/")
Observable<UserModel> getUserBy(@Path("name") name) 

然后在您的业务逻辑中您可以调用。

Observable.zip(retrofitApi.getUser("ALEX"), retrofitApi.getUser("ELISA"), retrofitApi.getUser("JOE"), (u1, u2, u3) -> {
  // prepare your returned users in a way suitable for further consumption
  // in this case I put them in a list
  return Arrays.asList(u1, u2, u3);
})
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe( listOfUsers -> // TODO: do something with your users)

希望这有帮助。

关于Java Retrofit 多请求单响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48330933/

相关文章:

java - java中如何获取进程结束状态?

java for循环问题

Android - 使用按钮控制 fragment 内的 ListView

android - 如何将选定的 ListView 项添加到数组列表中

android - 我应该如何使用改造来获取数组下的图像

android - 如何在 Android 中使用 Retrofit 库获取和发布方法?

java - CollectionUtils.isEqualCollection 基数是什么?

Java slf4j实现: logback vs log4j

android - 创建自定义通知,包括编辑文本 android

android - 如何在改造中解析嵌套对象模型