【发布时间】:2021-06-20 17:06:15
【问题描述】:
我是 Reactive Java 的新手,我收到了两个 api 请求,它们返回两个 CompletableFuture,其中包含两个自定义对象 A 列表。我需要以某种方式组合这些,序列化对象,创建另一个自定义对象 B 的新列表一个字段具有序列化的 A 对象,并将其作为一个 Flux 对象返回。我一直在尝试 s:thing 这样的东西,但它不起作用。
CompletableFuture<List<ResponseModels.A>> list1 = api.getListOfObjects();
CompletableFuture<List<ResponseModels.A>> list2 = api.getListOfOtherObjects();
CompletableFuture<ResponseModels.B> l = list1.thenApply(list1Objects -> list2.thenApply(list2Objects -> {
List<String> list1OfStrings = fop.stream().map(otcPaymentResultDTO -> JsonUtils.gsonFullBody.toJson(ResponseModels.B.builder() .payload(JsonUtils.gsonFullBody.toJson(list1Objects))
)).collect(Collectors.toList());
List<String> list2OfStrings = dvp.stream().map(otcDvPDTO -> JsonUtils.gsonFullBody.toJson(ResponseModels.B.builder()
.payload(JsonUtils.gsonFullBody.toJson(list2Objects)))).collect(Collectors.toList());
List<String> combinedList = Stream.concat(list1OfStrings.stream(), list2OfStrings.stream())
.collect(Collectors.toList());
return combinedList;
})));
return Flux.just(l);
【问题讨论】:
标签: java project-reactor