returns 插入记录的处理程序

Handler that returns inserted record

如果我在 spring 中使用反应式存储库(使用 kotlin)并且我想 return 插入的记录。我该怎么做?我需要一个运算符来订阅什么 flatMap returns 然后将它传递给一个函数,这样我就可以使用 ok().body(fromObject(insertedRecord))

我尝试过的事情:

  1. then: 不return值
  2. .subscribe { Mono.just(ServerResponse.ok().build()) } : returns Disposable
@Component
class RecordHandler(private val repository: RecordRepository) {
    fun create(req: ServerRequest): Mono<ServerResponse> {
        return req.bodyToMono(RecordDTO::class.java)
                .flatMap { repository.insert(it.toDomain()) }
                .then(ok().build())
}

另一种方法是在插入后查询,但这是一种解决方法。

提前致谢

这个怎么样:

 return req.bodyToMono(RecordDTO::class.java)
            .flatMap { repository.insert(it.toDomain()) }
            .flatMap { ok().body(fromObject(it)) }

?