Как использовать WebClient для выполнения синхронного запроса? - PullRequest
0 голосов
/ 07 ноября 2019

В документации Spring говорится, что мы должны перейти с RestTemplate на WebClient, даже если мы хотим выполнить синхронный вызов http.

На данный момент у меня есть следующий код:

  Mono<ResponseEntity<PdResponseDto>> responseEntityMono = webClient.post()
                .bodyValue(myDto)
                .retrieve()
                .toEntity(MyDto.class);
        responseEntityMono.subscribe(resp -> log.info("Response is {}", resp));
   //I have to return response here
   // return resp;

КонечноЯ мог бы использовать CountdownLatch здесь, но похоже, что API неправильно используется.

Как я могу выполнить синхронный запрос?

1 Ответ

0 голосов
/ 07 ноября 2019

Работает:

webClient.post()
         .bodyValue(myDto)
         .retrieve()
         .toEntity(MyDto.class)
         .block(); // <-- This line makes trick
...