Seb*_*Seb 3 spring reactive-programming spring-webflux
我在玩反应堆
public @NotNull Mono<ServerResponse> findXXXXSse(final ServerRequest request) {
return request.bodyToMono(XXXXSearch.class)
.doOnNext(this::validate)
.flatMap(this::findXXXXSse)
.switchIfEmpty(this.emptyBodyException());
}
Run Code Online (Sandbox Code Playgroud)
我想知道使用.doOnNext(this::validate)是否正确。从我的角度来看,我不确定在findXXXXSse?之前调用 validate 。
我错了吗?
Flux.doOnNext方法应该始终被用作副作用。
文档说“添加 Flux 发出项目时触发的行为(副作用)”。请参阅: https: //projectreactor.io/docs/core/release/api/reactor/core/publisher/Flux.html#doOnNext-java.util.function.Consumer-
我假设您只想在验证成功时恢复链,即 .flatMap(this::findXXXXSse)仅在验证成功时才应调用。
您可以使用filter(this::validate)并添加一个validate(XXXXSearch.class)方法来返回 true/false。
| 归档时间: |
|
| 查看次数: |
2275 次 |
| 最近记录: |