public interface ApplicationDataRepository extends ReactiveCrudRepository<ApplicationData, Long> {
}
使用springwebfluxReact性存储库会产生嵌套的mono对象。
applicationDataRepository.findById(100L).map(o -> {
o.setName("changed name");
return applicationDataRepository.save(o);
})
以上三行代码导致 Mono<Mono<ApplicationData>>
. 我怎样才能把它变成 Mono<ApplicationData>
或者避免陷入这种境地?
1条答案
按热度按时间abithluo1#
这不重要。它是一个React流编程模型及其通过projectreactor实现的api。请先熟悉一下:https://projectreactor.io/
你需要的是一个
flatMap
操作员Mono
:https://projectreactor.io/docs/core/release/reference/#which.values
webflux实际上就是一个网络:https://docs.spring.io/spring-framework/docs/current/reference/html/web-reactive.html#spring-webflux公司
这个
ReactiveCrudRepository
是spring数据项目的一部分:https://docs.spring.io/spring-data/commons/docs/2.4.6/reference/html/#repositories我的意思是,把每件事都称为“网络流量”是错误的,因为这个主题比网络更广泛。