Я использую Spring Cloud для запроса данных из другого сервиса.Итак, в основном я запрашиваю данные и хочу извлечь эти данные и назначить их другому объекту, который я буду сохранять.
Это мой код:
public Mono<Shops> save(Shops shops) {
Mono<Shops> s = webClientBuilder.build().get()
.uri("http://mysql-app/api/reservation-passengers/boarding-pass-data/" + shops.getBoardingPassId().toString())
.exchange()
.flatMap(response -> {
Shops myShops = response.bodyToMono(Shops.class).block();
shops.setAirportDestiny(myShops.getAirportDestiny());
shops.setCustomerId(myShops.getCustomerId());
return shopsRepository.save(shops);
});
return s;
}
Однако я получил исключение:
java.lang.IllegalStateException: block()/blockFirst()/blockLast() are blocking, which is not supported in thread reactor-http-nio-7
Как получить данные асинхронным методом?