反应堆链接命令

Reactor chaining commands

我正在 Spring WebFlux 中练习 Reactor,我发现学习曲线非常陡峭。我想做的就是:

来自控制器的数据 我查询 returns 一个 Mono 的站点设置。 我查询了用户存储库(稍后查明用户是否已经注册),其中 returns 一个 Mono。

现在我想做这样的事情:

User user = new User();

userRepository.findByUsername(username).flatMap(dbUser -> Mono.error(new UserAlreadyRegisteredException()).switchOnEmpty(settingsRepository.getSettings().flatMap(settings -> validateUser(user,incomingData,settings)).then(userRepository.save(user));

//validateUser is a method which returns Mono<User> preferably with incomingData copied to the User object

编辑:问题是我将设置保存在@PostConstruct 中,但我没有调用订阅。

通过以下链接:

  1. https://projectreactor.io/learn

  2. 我在开始使用本教程时浏览了它: https://tech.io/playgrounds/929/reactive-programming-with-reactor-3/Intro

有这个视频 https://youtu.be/Cj4foJzPF80,其中 Brian Clozel 和 Sebastien 解决了 tech.io 教程中提到的所有问题。这些都足以让我开始。开始教程,阅读文档(对我帮助很大),如果遇到困难,请转到视频寻求帮助。但是,您应该看到他们解释概念的视频开头。

检查这些,如果您仍有问题,请告诉我们。