Spring 5 Reactive Mono - передать значение Mono в свойство объекта и вызвать другое моно
Я новичок во всем Spring реактивном webflux. Моя проблема довольно проста. В моем addActions() я пытаюсь получить Mono, вызывая getCurrentVal(). Это прекрасно работает. Но мне нужно получить его значение и обновить свойство (submission.stateVal). Затем передайте вызов customService.addActions(), который возвращает Mono. Можно ли это сделать без использования block()?
@Autowired
private CustomService customService;
public Mono<CustomResponse> addActions(String id, String Jwt, Submission submission) {
Mono<String> updatedStateVal = getCurrentStateVal(tpJwt, id);
// submission.setStateVal(updatedStateVal);
// return customService.addActions(id, jwt, submission);
}
private Mono<String> getCurrentVal(String tpJwt, String id) {
return customService.findById(id, tpJwt)
.map(r -> r.getStateVal());
}
1 ответ
Решение
return getCurrentStateVal(tpJwt, id)
.flatMap(s -> {
submission.setStateVal(s);
return customService.addActions(id, tpJwt, submission);
});