Spring Webclient不返回数据,但RestTemplate会返回

时间:2019-05-25 23:59:59

标签: spring web client

我正在直接致电Restful Web服务。我从使用Spring 5异步Webclient开始。不幸的是,该调用不会返回数据。当我改用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是否不能在同步代码上工作。我原本希望使用WebClient,但是很难理解正在发生的事情。我也用Flux代替Mono,但还是没有成功。我尝试了exchange()等,但仍然无法返回数据。请帮忙。如果我在订阅后放置一个不确定的块,则它可以工作。

result.block()

0 个答案:

没有答案