update
Service
@Transactional
public UserDTO update(String id, UserDTO dto) {
User entity = repository.findById(id)
.orElseThrow(() -> new ResourceNotFoundException("Recurso não encontrado"));
copyDtoToEntity(dto, entity);
entity = repository.save(entity);
return new UserDTO(entity);
} public Mono<UserDTO> update(String id, UserDTO dto) {
return repository.findById(id)
.flatMap(exinstingUser -> {
//modificamos os dados do User que está no banco
exinstingUser.setName(dto.getName());
exinstingUser.setEmail(dto.getEmail());
return repository.save(exinstingUser);
})
//transformamos por fim em um Mono de UserDTO.
.map(UserDTO::new)
.switchIfEmpty(Mono.error(new ResourceNotFoundException("Recurso não encontrado")));
}Controller
Atualizado