我在服务中使用以下方法:
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>
如果我放:
repository.save(it.block()!!)
它可以工作,但是我读到,使用.block()
不是一个好习惯。我在这里可以使用哪种替代方法?
答案 0 :(得分:2)
使用flatMap
链接功能:
it.map { product -> product.active = active }.flatMap(repository::save)