Java 正在使用Mono<;可选<;T>&燃气轮机;气馁?
我正在编写一个广泛使用反应式编程的web服务器。我注意到我多次忘记检查Java 正在使用Mono<;可选<;T>&燃气轮机;气馁?,java,reactive-programming,project-reactor,Java,Reactive Programming,Project Reactor,我正在编写一个广泛使用反应式编程的web服务器。我注意到我多次忘记检查Mono是否为空。我使用的是WebFlux,因此它将一个空的Mono转换为200OK响应,这使得检测这些错误非常困难 减少这些错误的一种方法是使用Mono而不是Mono.empty()来明确缺少值 这感觉非常类似于Optional和null辩论,它甚至使用相同的类。虽然有很多人赞成使用可选的,而且它得到了图书馆的广泛支持,但我还没有看到任何人使用Mono 使用Mono有什么缺点吗 可靠地处理缺少值的情况的更好方法是什么?使用M
Mono
是否为空。我使用的是WebFlux,因此它将一个空的Mono
转换为200OK
响应,这使得检测这些错误非常困难
减少这些错误的一种方法是使用Mono
而不是Mono.empty()
来明确缺少值
这感觉非常类似于Optional
和null
辩论,它甚至使用相同的类。虽然有很多人赞成使用可选的
,而且它得到了图书馆的广泛支持,但我还没有看到任何人使用Mono
使用Mono
有什么缺点吗
可靠地处理缺少值的情况的更好方法是什么?使用Mono
而不是Mono
,您将自己置于接收空Mono
的棘手境地,但假设它总是有一个可选的实例,因此它没有真正的帮助,只会增加不必要的分配
有一个方便的操作符,如果您希望使用非空的Mono
,它会抛出并出错,但得到的却是空的。它看起来像可选的:)