У меня есть простая java программа, которая использует две службы, и я хочу вызвать эти службы и объединить полученный результат и применить некоторые проверки. Я совсем новичок в весеннем реактивном программировании, поэтому, пожалуйста, дайте мне знать, если есть ошибки в написанном коде
Первый ответ службы (api / v1 / employee / Participation)
{
"empoyeeResponse": {
"participatedEmployee": [
{
"employeeNumber": 1
},
{
"employeeNumber": 2
}
]
},
"totalActiveEmployee": 10
}
Второй Ответ службы (api / v1 / employee /: employeeNumber)
{
"name":"John",
"age":26,
}
Я хочу создать службу, которая возвращает список участвующих сотрудников, чей возраст более 30
{
"participatedEmployee":[
{
"name":"jack",
"age":33
}
]
}
ниже моего try
public serviceClient() {
this.webClient = WebClient.builder().baseUrl("http://localhost:8080/api/v1")
.defaultHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE)
.build();
}
public Mono<EmployeeListResponse> getEmployeeList() {
return this.webClient.get().uri("/employee/participation")
.retrieve().bodyToMono(EmployeeListResponse.class);
}
public Mono<EmpolyeeInfo> getEmployeeInfo(Integer id){
return this.webClient.get().uri("/employee/{id}", id)
.retrieve().bodyToMono(EmpolyeeInfo.class);
}
public Mono<Void> customService(){
return this.getEmployeeList()
.map(EmployeeListResponse::getEmpoyeeResponse)
.flatMapIterable(EmployeeResponse::getParticipatedEmployee)
.map(Employee::getEmployeeNumber)
.flatMap(this::getEmployeeInfo)
.then();
}
Я хочу изменить вывод для метода нестандартного сервиса, чтобы он возвращал Mono of EmpoyeeNewResponse и подать заявку, чтобы проверить, что Сотрудник, наиболее превышающий 30 лет, в противном случае сотрудник не будет добавлен в список