Застрял во время преобразования Flux <Employee>в Mono <EmployeeResponse>? - PullRequest
0 голосов
/ 24 сентября 2018

Я получаю Flux<Employee> из базы данных, и я хочу преобразовать это в Mono<EmployeeRespnose>, который будет содержать список сотрудников.

public Mono<EmployeeResponse> getEmployeeResponse(){
Flux<Employee> employeeFlux = repository
              .findEmployees();   

      return //How to begin here??;
}

Я не знаю, как начать с этого.(Операция должна быть неблокирующей)

Пожалуйста, предоставьте любой намек / предложение, как с этого начать?

//class Employee
class Employee{
    private Long ID;
    private String name;
    private String address;

    //getters and setters    
}
//EmployeeResponse class  
class EmployeeResponse{

private int count;

private List<Employee> list;

//getters and setters

}

1 Ответ

0 голосов
/ 24 сентября 2018

Я использовал employeeFlux.collectList() для получения Mono<List<Employee>> и затем использовал map() для преобразования List<Employee> в Mono<EmployeeResponse>

   public Mono<EmployeeResponse> getEmployeeResponse(){
        Flux<Employee> employeeFlux = Flux.empty() ;  

              return employeeFlux.collectList().map(emplist -> {
                  EmployeeResponse response = new EmployeeResponse();
                  response.setCount(emplist.size());
                  response.setList(emplist);
                  return response;
              });
        }
...