Spring Cloud Gateway для составных вызовов API?

Я начинаю создавать шлюз API микросервисов и рассматриваю возможность использования Spring Cloud для помощи в маршрутизации. Но для некоторых вызовов API шлюза потребуется несколько запросов к разным службам.

Допустим, у меня есть 2 службы: Детали заказа и Служба доставки. Я хочу иметь конечную точку шлюза ПОЛУЧИТЬ /заказы/{orderId}, которая выполняет вызов Подробная информация о заказе, а затем Служба доставки и объединяет их, чтобы вернуть полные сведения о заказе с доставкой. Возможно ли это с маршрутизацией облака Spring или мне нужно сделать это вручную, используя что-то вроде RestTemplate для совершения вызовов?

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
5
0
3 443
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

На GitHub опубликовано предложение по улучшению иметь маршруты, поддерживающие несколько URI. Пока планов по реализации этого пока нет, по крайней мере, по словам одного из участников.

Итак, вы говорите, что пока невозможно делать то, что я хочу, и я должен придерживаться стандартных контроллеров для этих составных конечных точек? Будет ли использование шаблона отдыха лучшей практикой? (все микросервисы - это отдых)

D.Tomov 08.04.2019 16:28

Я только что нашел о ProxyExchange, который может служить этой цели вместо того, чтобы полагаться на RestTemplate. cloud.spring.io/spring-cloud-gateway/multi/…

D.Tomov 09.04.2019 09:55

@Д.Томов Отлично! Это то, что они также рекомендовали использовать в проблеме, на которую я ссылался в своем ответе.

g00glen00b 09.04.2019 13:30

@D.Tomov, не могли бы вы посоветовать, как вы это сделали?

Jacob 25.02.2021 06:10

Другие вопросы по теме