delete
Service
Antes
@Transactional
public void delete(String id) {
User entity = repository.findById(id)
.orElseThrow(() -> new ResourceNotFoundException("Recurso não encontrado"));
repository.delete(entity);
}Depois
public Mono<Void> delete(String id) {
//verificamos se o User existe
//se ele não existir, lançará a exception
return repository.findById(id)
.switchIfEmpty(Mono.error(new ResourceNotFoundException("Recurso não encontrado")))
//se ele existir, ele vai retornar um Mono de User
//iremos transformar esse Mono de User em Void para deletar
//o usuário
.flatMap(existingUser -> repository.delete(existingUser));
}Controller
Antes
Depois
O then retorna um void, que é o que precisamos.
Atualizado