spring - 如何从 MONO/FLUX 中提取字符串值 -
问题描述
我是反应堆编程的新手,需要一些关于 MONO/Flux 的帮助
我有 POJO 课
雇员.java
class Employee {
String name
}
我在访问服务时返回了 Mono,我需要从 Mono 中提取名称作为字符串。
Mono<Employee> m = m.map(value -> value.getName())
但这再次返回 Mono 但不是字符串。我需要从这个 Mono 中提取字符串值。
解决方案
你应该这样做:
m.block().getName();
此解决方案不负责空值检查。
标准方法是:
Employee e = m.block();
if (null != e) {
e.getName();
}
但是使用通量你应该继续使用这样的东西:
Mono.just(new Employee().setName("Kill"))
.switchIfEmpty(Mono.defer(() -> Mono.just(new Employee("Bill"))))
.block()
.getName();
请记住,如果可能,应避免请求阻塞操作:它会阻塞流
推荐阅读
- java - 我的公式是错误的还是有任何代码行出错?
- node-notifier - Windows 中的粘滞通知不起作用
- mysql - 将 mssql 脚本转换为表中的 mysql 更新列以及其他表中的最新日期
- sql-server - 使用 FOR XML 将行转换为逗号分隔列表时出错
- python - 如何使用 python 在 Whatsapp 中发送自动消息?
- javascript - 如何从“window.getSelection”获取字符串以及如何使用“window.open”修复打开新标签?
- amazon-web-services - 公开内部 IP,以便可以从 Internet 访问
- javascript - 跟随 JSON 进行迭代时出错
- python - 烧瓶上传CSV文件而不保存
- h2o - 如何在 H2O 服务器中禁用 TRACE 方法