Как перенаправить пользовательский запрос на другой Restful API, который запускается на другом сервере при загрузке Spring? - PullRequest
0 голосов
/ 21 июня 2019

Я нуб в весеннем сапоге.Я пишу шлюз для некоторых услуг.В условии, я должен перенаправить пользовательский запрос в другие службы (некоторые Restful API) после аутентификации.Я провел некоторый поиск по «forward» и «redirect».Я думаю, что мне нужно «вперед».Но у меня все еще есть некоторые вопросы: 1. Когда я пересылаю его на другой URI (например, abc.dce.com/service/), получает ли служба тело запроса.2.Как я могу сделать это при весенней загрузке?У вас есть хороший пример, который соответствует моему состоянию?(Я признаю, что я немного ленив в этом, но есть действительно много стиля форварда, который смутил меня.)

//I find this example, but this is forwarding to service in same package //under same Internet. 
@Override
public void addViewControllers(ViewControllerRegistry registry) {
    // forward requests to /admin and /user to their index.html
    registry.addViewController("/portal").setViewName(
            "forward:/app/index.html");
}

1 Ответ

0 голосов
/ 21 июня 2019

Поскольку вы упоминаете, что вы новичок в весенней загрузке, вы можете взглянуть на весенний проект, который реализует полнофункциональный шлюз. Я использовал его более раннюю версию (zuul), и текущий Spring-Cloud-Gateway позволяет легко реализовать полный шлюз, создав проект Spring-boot и настроив его. Он имеет множество функций, которые вы, вероятно, захотите реализовать в качестве шлюза (например, добавление / удаление заголовков, изменение полезных нагрузок и т. Д.). Если вам нужны функции, которые они не поддерживают, вы можете реализовать их через фильтры и другие интерфейсы, которые они предоставляют. Первоначально это был исходный код от Netflix, поэтому он довольно полный.

https://spring.io/projects/spring-cloud-gateway

Пример проекта: https://github.com/spring-cloud-samples/spring-cloud-gateway-sample

...