#angular #spring #gateway
#angular #spring #шлюз
Вопрос:
У меня есть приложение Angular, которое маршрутизируется из шлюза Spring. Корневой маршрут работает правильно, но когда вы углубляетесь во вложенные маршруты, он возвращает статус не найден. В документах Angular и в этом руководстве говорится, что вы должны переписать любой не найденный маршрут в /index.html но я не нашел в документах Spring Cloud Gateway никаких ссылок на то, как это настроить.
application.yml
- id: teams-frontend
uri: lb://teams-frontend
predicates:
- Path=/teams,/teams/**
filters:
- StripPrefix=1
# - RewritePath=/.*, /index.html ## This breaks existing link resources such as the scripts linked on the index.html
Как приложение Angular может вернуться к index.html когда он не найден?
Ответ №1:
Я разработал пользовательский фильтр. Если запрос содержит заголовок «Accept: text / html», то путь запроса перезаписывается с помощью /index.html
- id: teams-frontend
uri: lb://teams-frontend
predicates:
- Path=/teams,/teams/**
filters:
- StripPrefix=1
- SPA