如何检查单声道是否为空?

我正在使用WebFlux框架开发Spring Boot 2.0和Kotlin的应用程序。

我想检查一个用户ID是否保存一个事务之前退出。 我被困在一个简单的东西,如验证单声道是空的。

fun createTransaction(serverRequest: ServerRequest) : Mono<ServerResponse> { val transaction = serverRequest.body(BodyExtractors.toMono(Transaction::class.java)) transaction.flatMap { val user = userRepository.findById(it.userId) // If it's empty, return badRequest() } return transaction.flatMap { transactionRepository.save(it).then(created(URI.create("/transaction/" + it.id)).build()) } } 

有可能做我想做的事情?

有一个hasElements()方法可以帮助:

 mono.hasElement().subscribe(::println) 

这里是javadoc:

 /** * Emit a single boolean true if this {@link Mono} has an element. * * <p> * <img class="marble" src="https://raw.githubusercontent.com/reactor/reactor-core/v3.1.1.RELEASE/src/docs/marble/haselement.png" alt=""> * * @return a new {@link Mono} with <code>true</code> if a value is emitted and <code>false</code> * otherwise */ public final Mono<Boolean> hasElement() 
Interesting Posts