如何访问/操纵Flux / Mono

时间:2019-03-27 16:51:03

标签: spring-webflux

我需要访问类内部的方法,该类位于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 个答案:

答案 0 :(得分:1)

这是您需要做的

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

您仍然需要订阅Mono才能执行。