小编Ron*_*6er的帖子

一起使用 Mono 和Optional

我试图理解反应式程序的一件事是适当地处理没有结果的情况。

假设我有一个 API,可以选择检索用户的最新订单。我想将没有找到用户的行为留给调用者。在普通的旧java中,我会写这样的东西:

Optional<Order> getLatestOrder(int userId) { ... }

在 webflux 中,我试图弄清楚是否应该返回等效函数Mono<Optional<Order>>Mono<Order>

如果我添加getLatestOrder()到反应流中,如果我发出空单声道,它可能会停止。做类似的事情也感觉很奇怪:

getLatestOrder().defaultIfEmpty(new Order());

因为现在感觉就像一个哨兵值,代表它不存在。

Mono是否有关于使用and的模式的指导OptionalOptional当你真的想表达一些不存在的东西时,有没有正确的方法可以完全放弃?

java reactive-programming spring-webflux

4
推荐指数
1
解决办法
5417
查看次数