如何将控制器方法的 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);
我有一个方法看起来像这样。
@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);