Kotlin Webflux不使用.block()保存到存储库
我的服务中有以下方法:Kotlin Webflux不使用.block()保存到存储库,kotlin,spring-webflux,Kotlin,Spring Webflux,我的服务中有以下方法: override fun enableDisable(id: String, active: Boolean) = tryCatch( repository.findById(id).let { it.map { p -> p.active = active }; repository.save(it) }, DataNotFound("Data not foun
override fun enableDisable(id: String, active: Boolean) = tryCatch(
repository.findById(id).let {
it.map { p -> p.active = active }; repository.save(it)
},
DataNotFound("Data not found"))
我有以下错误:
Need: Product
Found: Mono<Product>
它可以工作,但我读到使用
.block()
不是一种好的做法。我可以在这里使用哪种选择?使用flatMap
链接您的功能:
it.map{product->product.active=active}.flatMap(repository::save)
使用flatMap
链接您的功能:
it.map{product->product.active=active}.flatMap(repository::save)
repository.save(it.block()!!)