如何包装将“ void”返回到Mono <Void>的同步方法?

问题描述

我正在尝试改编返回deleteById的Postgresql存储库void方法,以返回Mono<Void>

存储库是我自动接线的服务,我这样使用它

repository.deleteById(id),以字符串ID作为参数

解决方法

如果要使用反应堆,则应使用spring-data-r2dbc,它提供ReactiveCrudRepository和方法Mono<Void> deleteById(ID id)

如果由于某种原因需要使用同步方法,则可以使用Mono.fromRunnable来包装deleteById调用

Mono.fromRunnable(() -> repository.deleteById(someId))

但是,应该避免这种情况,因为那样使用反应堆不会带来任何好处。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...