как получить тип сущности из моно <Entity>? - PullRequest
0 голосов
/ 05 апреля 2019

как правильно работать геттер / сеттер с монообъектом

Mono<Product> productMono = webClient.get()
            .uri(catalogUrl + "/{productId}", productId)
            .retrieve()
            .bodyToMono(Product.class)
            .onErrorResume(err -> Mono.empty())
            .switchIfEmpty(Mono.error(new NoSuchProductException()));

тогда я хочу преобразовать мой POJO "productMono" в продукт. спасибо за ответы.

1 Ответ

0 голосов
/ 06 апреля 2019

Правильный способ доступа к экземпляру Product - использовать операцию map (), например:

@GetMapping("/products/{productId}")
  public Mono<MappedProduct> getProduct(@PathVariable("productId") String productId) {
    return webClient.get()
      .uri(catalogUrl + "/{productId}", productId)
      .retrieve()
      .bodyToMono(Product.class)
      .onErrorResume(err -> Mono.empty())
      .switchIfEmpty(Mono.error(new NoSuchProductException()));
      .map(product -> productMapper(product));   // <-- here you can handle Product instance

  }
...