Автоматически перенаправить корневой путь к контекстному пути Spring Boot - PullRequest
1 голос
/ 17 мая 2019

Я использую Spring Boot Context Path, как указано в файле application.properties, и он отлично работает

server.port=5000
server.context-path=/services

Spring Boot 2.0 и выше

server.port=5000
server.servlet.context-path=/services

Но как мы можем добиться перенаправления по умолчанию для root, то есть «/» в «/ services»

http://localhost:5000/services - отлично работает!

Но я хочу, чтобы http://localhost:5000/ автоматически перенаправлял на -> http://localhost:5000/services, чтобы конечный пользователь мог иметь доступ к корню домена и автоматически перенаправляться на контекстный путь

В настоящее время при доступе к корню выбрасывается 404 (что имеет смысл с конфигурацией по умолчанию)

Как мне выполнить автоматическое перенаправление root, то есть «/», к контекстному пути?

1 Ответ

0 голосов
/ 17 мая 2019

У вас есть два способа сделать это:

1. В вашем загрузочном классе @SpringBootApplication вы можете расширить WebMvcConfigurerAdapter и переписать метод addViewControllers. Этот метод перенаправляет маршруты, и вы можете сделать это:

@SpringBootApplication
public class Application extends WebMvcConfigurerAdapter {

   @Override
   public void addViewControllers(ViewControllerRegistry registry) {
       registry.addRedirectViewController("/", "/services");
   }

   public static void main(String[] args) {
       SpringApplication.run(Application.class, args);
   }

}

2. Создайте файл конфигурации с @Configuration, который расширяет WebMvcConfigurerAdapter, и перезапишите вышеупомянутый addViewControllers метод:

@Configuration
public class WebConfig extends WebMvcConfigurerAdapter {

   @Override
   public void addViewControllers(ViewControllerRegistry registry) {
       registry.addRedirectViewController("/", "/services");
   }
}

Примечание: Если вы однажды перейдете на Spring 5, он предупредит вас, что WebMvcConfigurerAdapter устареет, и вам придется использовать WebMvcConfigurer. Вся информация этой детали здесь:

https://www.baeldung.com/web-mvc-configurer-adapter-deprecated

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