首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >弹簧电抗器连接2单体

弹簧电抗器连接2单体
EN

Stack Overflow用户
提问于 2018-10-16 10:48:46
回答 2查看 3.1K关注 0票数 0

我需要用弹簧反应器以反应方式连接数据库。下面是我想要得到的场景->

  1. 1.连接到db并获取response1 2.然后连接到db并获得response2,同时提供response1参数。
代码语言:javascript
复制
1. Join those two into single response and send back to the user as String

由于所有对象都是唯一的,所以我计划使用Mono

代码语言:javascript
复制
Mono<Response1> r1 = qrepo.findByID(id)
Mono<Response2> r2 = qrepo.findByID(r1.getParam())

Mono<String> combined = Mono.when(r1, r2).map(t -> { 
            StringBuffer sb = new StringBuffer();
                sb.append(r1.getProp1());
                sb.append(r2.getProp2());

但这对我来说不太好

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-10-16 11:07:21

您应该获得response1,然后将其结果传递给flatMap访问参数并传递给存储库,然后将结果映射到字符串。

代码语言:javascript
复制
    Mono<String> resultMono = qrepo.findByID(id)
            .flatMap(response1 -> qrepo.findByID(response1.getParam())
                    .map(response2 -> {
                        StringBuilder sb = new StringBuilder();
                        sb.append(response1.getProp1());
                        sb.append(response2.getProp2());
                        return sb.toString();
                    }));
票数 6
EN

Stack Overflow用户

发布于 2020-03-16 10:43:14

使用Mono.zip

示例:

代码语言:javascript
复制
Mono.zip(Mono.just("hello"), Mono.just("world")).map(tuple2 -> {

      return tuple2.getT1() + tuple2.getT2();
    });

Mono.zip将给定的monos聚合到一个新的Mono中,当所有给定的Monos都生成了一个项目时,这个新的Mono就会被实现。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52833719

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档