如何将控制器方法的 return 类型的 T 更改为 Flux<T>?

How can I change T to Flux<T> for a controller's method's return type?

我有一个方法看起来像这样。

@GetMapping
Some read() {
    return getSome();
}

现在我想将结果的类型更改为 Mono,让 getSome() 保持非反应性。

问题是哪个更好?或者它们在反应系统的上下文中是等效的?

@GetMapping
Mono<Some> read() {
    return Mono.justOrEmpty(getSome()); // getSome() is still non-reactive
}

@GetMapping
Mono<Some> read() {
    return Mono.fromSupplier(() -> getSome()); // getSome() is still non-reactive
}

这几乎是等价的。但是,在 Mono 值由 Supplier:

生成的情况下,Mono.fromSupplier 更具可读性
Mono.fromSupplier(this::getSome);

Mono.justOrEmpty 很适合这样的事情:

Some some;
Mono.justOrEmpty(some);