Как мне получить доступ к элементу в Flux / Mono? - PullRequest
0 голосов
/ 27 марта 2019

Мне нужно получить доступ к методу внутри класса, который находится внутри Mono.Как мне это сделать?

У меня есть:

 public Mono<LegalPerson> find(Long id) {
        return Optional.of(repository.findById(id)).orElseThrow(() -> new UserNotFoundException("Error"));
    }

И вот моя проблема:

   public void update(Mono<LegalPerson> legalPersonJson) {
        var legalPersonDB = find(legalPersonJson.map(legalPerson -> legalPerson.getId()));

Я получаю следующую ошибку:

Incompatible types. Required Long but 'map' was inferred to Mono<R>: no instance(s) of type variable(s) R exist so that Mono<R> conforms to Long

1 Ответ

1 голос
/ 28 марта 2019

Это то, что вам нужно сделать

Mono<Long> legalPersonDB = legalPersonJson.map(legalPerson -> find(legalPerson.getId()))

Вам все равно нужно будет подписаться на Mono, чтобы он заработал.

...