如何在Spring Reactive中将Flux <Employe>转换为Mono <Customers>对象

时间:2019-10-16 02:24:20

标签: reactive-programming project-reactor spring-reactive

如何将Flux 转换为Mono 对象?

Flux empFlux = getService(); //返回Employe的列表Employe {private String id;私有字符串信息;}

//需要将empFlux数据转换为Mono <客户>

公共类CusData {

private  String id;
private String  dept;
private  String info;

public String getId() {
    return id;
}

}

公共类客户{

private List<CusData> cusDataList;

public List<CusData> getCusDataList() {
    return cusDataList;
}

public void setCusDataList(List<CusData> cusDataList) {
    this.cusDataList = cusDataList;
}

} 公共课程Employe {

private String id;
private String info;

}

2 个答案:

答案 0 :(得分:0)

Flux有一个方便的方法collectList(),它负责为您执行转换。 我在下面的示例中使用了String。

下面的代码段。

Flux<String> stringFlux = Flux.just("Spring", "Spring Boot", "Reactive Spring")
                .log();

        Mono<List<String>> stringMono = stringFlux.collectList();

答案 1 :(得分:0)

如果我了解您的代码,则必须具有以下内容:

  Mono<Customers> customers = getService().map( employee -> CusData.builder()
                                                                   .id( employee.getId() )
                                                                   .info( employee.getInfo() )
                                                                   .build() )
                                          .collectList()
                                          .map( cusDatas -> Customers.builder()
                                                                     .cusDataList( cusDatas )
                                                                     .build() );