【问题标题】:Get Mono or Flux object type during runtime在运行时获取 Mono 或 Flux 对象类型
【发布时间】:2019-01-31 19:44:56
【问题描述】:

我有 Flux 或 Mono,其中填充了我不知道的不同自定义对象。

我想在不阻塞 Flux 或 Mono 的情况下检索 Object 类名。

【问题讨论】:

    标签: java spring-webflux project-reactor


    【解决方案1】:

    您可以通过像这样映射Mono 来做到这一点:

    Mono<String> mono = Mono.just(...some object goes here)
        .map(object -> object.getClass().getSimpleName());
    

    这里发生的事情应该是相对明显的——我们将对象映射到对象的类名(所有内容都留在mono中)

    Flux<String> mono = Flux.fromIterable(...some list of objects)
        .flatMap(object -> object.getClass().getSimpleName);
    

    (注意:我不太确定 Flux... 在没有 IDE 的情况下编写此代码。但应该非常接近。)

    【讨论】:

    • 您的代码将导致编译错误,因为 getSimpleName() 在任何情况下都不会为您提供发布者
    • 如何在没有 Mono 的情况下只检索 String(className)?我不想在 Mono 对象上使用块。
    猜你喜欢
    • 2018-12-07
    • 1970-01-01
    • 1970-01-01
    • 2011-09-20
    • 2019-05-18
    • 2012-11-16
    • 1970-01-01
    • 1970-01-01
    • 2017-01-01
    相关资源
    最近更新 更多