我在玩React堆
public @NotNull Mono<ServerResponse> findXXXXSse(final ServerRequest request) {
return request.bodyToMono(XXXXSearch.class)
.doOnNext(this::validate)
.flatMap(this::findXXXXSse)
.switchIfEmpty(this.emptyBodyException());
}
我想知道“.doonnext(this::validate)”的用法是否正确。在我看来,我不确定在findse之前是否调用了validate?
我错了吗?
1条答案
按热度按时间iibxawm41#
Flux.doOnNext
方法应始终作为副作用使用。文档中说“添加通量发射项目时触发的行为(副作用)”。请参阅: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。