正在使用Mono >气馁?

问题描述 投票:1回答:1

我正在编写一个广泛使用反应式编程的Web服务器。我注意到我忘记检查Mono是否空了太多次。我正在使用WebFlux,因此它将空的Mono转换为200 OK响应,这使得很难检测到这些错误。

减少这些错误的一种方法是使用Mono<Optional<T>>而不是Mono.empty()来显示缺少值。

这感觉非常类似于Optionalnull辩论,它甚至使用同一类。虽然有很多人赞成使用Optional并且它得到图书馆的广泛支持,但我还没有看到有人使用Mono<Optional<T>>

使用Mono<Optional<T>>有什么缺点吗?

什么是可靠处理缺席值案例的更好方法?

java reactive-programming project-reactor
1个回答
1
投票

通过使用Mono<Optional<T>>而不是Mono<T>,你将自己置于接收空Mono的棘手情况,但假设它将始终有Optional的实例,所以它没有真正帮助,并且只添加了不必要的分配。

有一个方便的运算符Mono#single,如果你期望一个非空的Mono它会抛出并出错,但是却得到一个空的qazxswpoi。

© www.soinside.com 2019 - 2024. All rights reserved.