У меня есть две конечные точки, первая для http://localhost:8899/api/composition/appraisal
, которая будет возвращать все данные оценки производительности
[
{
"appraisalId": "ac234fbf-740c-4390-89d4-0e9753ad4d70",
"employeeId": "emp-4613",
"grade": "VERY_GOOD",
"score": 94,
"status": "NEW"
},
{
"appraisalId": "e9baf663-aa6e-4af8-ae16-ef50c886df28",
"employeeId": "emp-4623",
"grade": "VERY_GOOD",
"score": 94,
"status": "NEW"
}
]
У меня также есть другая конечная точка для получения бонусных данных http://localhost:8888/api/composition/bonus/{appraisal_id}
, которые возвращают бонусные данные на основе id оценки
{
"appraisalId": "ac234fbf-740c-4390-89d4-0e9753ad4d70",
"bonusAmount": 4760.0,
"bonusPaidDate": "2019-06-30",
"employeeId": "emp-4623",
"paidToBankAccount": "8240996587"
}
Давая appraisal_id из первого API в качестве параметра, я должен объединить результат обоих вызовов API в PerformanceAppraisalWithBonus. java class
public class PerformanceAppraisalWithBonus {
private UUID appraisalId;
private double bonusAmount;
private LocalDate bonusPaidDate;
private String employeeId;
private String grade;
private int score;
private String status;
getters / setters
}
Как этого добиться с помощью Spring WebClient?