Spring 如何合并动态Mono返回方法
我有一个简单的界面Spring 如何合并动态Mono返回方法,spring,mono,flux,rector,Spring,Mono,Flux,Rector,我有一个简单的界面 public interface Validator{ public Mono<String> perFormValidation(Employee e); } 公共接口验证程序{ 公共绩效验证(员工e); } 然后用方法实现类 那么,如何使用mergeWith或任何其他方法来合并这些单声道检索方法呢 在我的主课上,我做的事情如下 List<Validator> vals; @Autowired public Valida
public interface Validator{
public Mono<String> perFormValidation(Employee e);
}
公共接口验证程序{
公共绩效验证(员工e);
}
然后用方法实现类
那么,如何使用mergeWith或任何其他方法来合并这些单声道检索方法呢
在我的主课上,我做的事情如下
List<Validator> vals;
@Autowired
public ValidatorService(List<Validator> vals) {
this.vals= vals;
}
列出vals;
@自动连线
公共验证服务(列表VAL){
这个.vals=vals;
}
但是,不确定如何进一步进行如果您希望最终得到验证结果列表,则需要一个
通量
。您可以将验证程序列表转换为通量
,然后将其平面映射到验证结果,如下所示:
Employee employee = new Employee();
Mono<List<String>> validations = Flux.fromIterable(vals)
.flatMap(validator -> validator.performValidation(employee))
.collect(toList());
我想你不是想给反应堆贴标签哦是的对了:P
Flux<String> validations = Flux.merge(validators.stream()
.map( validator -> validator.performValidation(employee))
.collect(toList()));