У меня есть простая программа, состоящая из двух частей: сервер Spring 5 с одной конечной точкой, которая возвращает Mono‹Double›, и клиентская программа, которая считывает значение и печатает его.
Когда я перехожу к http://localhost:8080/rand, возвращается двойное значение. Однако, когда я использую клиент, полученное значение всегда равно нулю (статус ответа — 200).
Что мне не хватает?
Файл Main.java
@SpringBootApplication
@EnableWebFlux
public class Main {
public static void main(String... args) {
SpringApplication.run(Main.class);
}
}
Файл MyController.java
@RestController
public class MyController {
@GetMapping("/rand")
public Mono<Double> GetDouble() {
return Mono.just(ThreadLocalRandom.current().nextDouble());
}
}
Файл MyClient.java
public class MyClient {
public static void main(String... args) {
WebClient client = WebClient.create("http://localhost:8080");
Double value = client.get()
.uri("/rand")
.accept(MediaType.APPLICATION_JSON)
.retrieve()
.bodyToMono(Double.class)
.block();
System.out.println("value = " + value);
}
}