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