У меня есть весенняя загрузка 2 и страница API Swagger, работающая на http://localhost:8448/portalapi/swagger-ui.html. Но я хотел отобразить http://localhost:8448/ и http://localhost:8448/portalapi/, чтобы переслать запрос на http://localhost:8448/portalapi/swagger-ui.html. Ноэто не работает.Это дает HTTP-статус 404 - Not Found (ответ по умолчанию для tomcat).Любая помощь или указатель с благодарностью.
appliacation.properties
## # tomcat server port server.port=8448 #server.address=0.0.0.0 server.servlet.contextPath=/portalapi/
Это класс webconfig для контекста для пересылки:
@Configurable @Component public class WebConfig implements WebMvcConfigurer { @Override public void addViewControllers(ViewControllerRegistry registry) { // forward requests to /admin and /user to their index.html registry.addViewController("/").setViewName( "forward:/portalapi/swagger-ui.html"); registry.addViewController("/portalapi/").setViewName( "forward:/portalapi/swagger-ui.html"); } }
Измените приведенную ниже часть с:
@Configurable @Component public class WebConfig implements WebMvcConfigurer {
на:
@Configuration public class WebConfig implements WebMvcConfigurer {
Попробуйте перенаправить контроллер
@Controller public class RedirectController { @RequestMapping(value = {"/","/portalapi/"}) public String redirectToSwagger() { return "redirect:/portalapi/swagger-ui.html"; } }