Spring Boot Перенаправить все под URL, кроме /index.html - PullRequest
0 голосов
/ 17 марта 2019

У нас есть приложение весенней загрузки, использующее Spring 5 для AnuglarJS. Вот как настроен наш WebMvcConfigurer.

@Override
  public void addViewControllers(ViewControllerRegistry registry) {
    String portal = "forward:/app/portal2/index.html";
    String rootPortalUrl = "/app/portal2/";

    registry.addViewController(rootPortalUrl).setViewName(portal);

    registry.addRedirectViewController("/app/portal/", rootPortalUrl);
    registry.addRedirectViewController("/app/portal", rootPortalUrl);
    registry.addRedirectViewController("/app/portal2", rootPortalUrl);
  }

Теперь у нас есть требование перенаправлять обратно на /app/portal2/ каждый раз, когда вводится любой под-URL, так как в противном случае мы получили бы 404, а также AngularJS не заботился о пути. Пример:

/app/porta2/profile
/app/portal2/home

следует перенаправить на /app/portal2/

Обратите внимание, что /app/portal2/index.html является действительным, и перенаправление не должно происходить, в противном случае я мог бы просто сделать:

registry.addRedirectViewController("/app/portal2/**", rootPortalUrl);

но это вызовет цикл перенаправления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...