Spring Webclient не возвращает данные, а RestTemplate делает - PullRequest
0 голосов
/ 26 мая 2019

Я очень прямо звоню в веб-службу Restful. Я начал с использования Spring 5 асинхронного веб-клиента. К сожалению, этот вызов не возвращает данные. Когда я использую RestTemplate вместо этого, данные возвращаются. Вот код кода Webclient, я ожидаю строку JSON:

   WebClient webClient = WebClient.create("http://localhost/current/jobs")

     Mono<String> result=  webClient.get()

    .retrieve()

    .bodyToMono(String.class)

     result.block(Duration.ofSeconds(5L))

     result.subscribe{it -> println "Data is ${it}"}

Этот код, с другой стороны, успешно извлекает данные:

    RestTemplate rt=new RestTemplate()

    Object obj= rt.getForObject("http://localhost/current/jobs", String.class)

Веб-клиент не работает с синхронным кодом. Я надеялся использовать WebClient, но трудно понять, что происходит. Я также заменил Mono на Flux, но все равно не добился успеха. Я попытался обмен () и т. Д., Но по-прежнему не удалось вернуть данные. Пожалуйста помоги. Если я ставлю неопределенный блок, как после подписки, это работает.

result.block()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...