#java #spring #spring-boot #spring-cloud #spring-cloud-gateway
#java #spring #spring-boot #spring-cloud #spring-cloud-gateway
Вопрос:
у меня есть вопрос об использовании Spring Cloud Gateway. Мы можем каким-то образом выполнять «составные» вызовы с помощью Spring Cloud Gateway?
У меня есть микросервис A и один микросервис B. Моему A нужны некоторые данные из B для возврата, когда кто-то звонит….ServiceA:порт / serviceASomeEndpoint/оба /{id}
Это работает нормально, когда он просто использует порт микросервисов, я могу извлекать данные из обеих служб и возвращать эти данные пользователю, но когда я использую микросервис моего шлюза с этим портом, это работает частично, я могу совершать «одиночные» вызовы только для службы с этим портом, но когда яиспользуя в комбинации с RestTemplate и пытаясь ServiceGateway:port / serviceASomeEndpoint/both/{id}, это не работает, и я не знаю, что так можно себя вести…
Что я могу сделать, чтобы получить оба данных из обоих микросервисов с помощью Gateway help?
-Кроме того, мой RestTemplate работает только с ServiceB-host-and-port, я пробовал с именем, зарегистрированным в Eureka и nop, пробовал с портом MyLocalHost Gateway и nop, я еще не пробовал с помощью Docker Compose…
Masina masina = rest.getForObject("http://localhost:ServiceBPort(2000 for example)/masina/" marca, Masina.class); - works if only we call with Service A port
Masina masina = rest.getForObject("http://localhost:GatewayPort(4000 for example)/masina/" marca, Masina.class); - not working
Есть идеи, как извлекать и получать данные из двух служб одновременно, используя порт Spring Cloud Gateway?
Комментарии:
1. Задать два слегка связанных вопроса затрудняет ответ. Нет составного вызова, который объединяет ответы. У нас есть открытая проблема для улучшения, но, вероятно, это произойдет не скоро. Будет проще перенаправить маршрут на локальный контроллер и вручную объединить вызовы.
2. Спасибо, что уделили время ответу! И спасибо за совет, это очень помогает! Хорошего дня!