我对React式编程比较陌生。我的问题是关于 Mono::then
我要做的是,从传入请求中提取主体,将其设置为静态变量。完成后,发送一个响应,说明服务已经启动。但是下面的代码总是返回“service started for:null”。
我想 Mono::then
应该在第一个mono完成后运行(在本例中,在设置静态变量之后),并返回“servicestarted for:a,b,c”。
我的理解错了吗?
(同时,任何代码批评都是值得赞赏的)
public Mono<ServerResponse> getStatus(ServerRequest req) {
Mono<List<Request>> body = req.bodyToFlux(Request.class).collectList();
return ServerResponse.ok()
.body(body.doOnNext(i -> {
Service.a = i;
logger.info("Service started for : {}", i.toString());
})
.then(Mono.just("Service started for: " + Service.a)), String.class);
}
1条答案
按热度按时间t0ybt7op1#
不鼓励通过静态变量进行通信(特别是在函数式和React式编程中)。在你的问题中,你没有提供足够的关于
Service
你一开始,有点难推荐。然而,根据现有信息,我将从以下内容开始: