我设法做到了下面这样。这是一个幼稚的例子,但是异步/HTTP请求是在
downstream.request1()
和
downstream.request2()
. 如果是更优雅的方式来实现这一点,我会感兴趣的。
@GetMapping("/sample")
public Mono<String> getMultipleRequests() {
Mono<String> monoResponse1 = downstream.request1();
Mono<String> monoResponse2 = downstream.request2();
return Mono.zip(monoResponse1, monoResponse2)
.flatMap(a -> myTransform(a));
}
private Mono<String> myTransform(Tuple2<String, String> tuple) {
String t1 = tuple.getT1();
String t2 = tuple.getT2();
return Mono.just(t1 + t2);
}