一尘不染

Spring Boot-来自Webjar的覆盖索引页面

spring-boot

在我的项目中,我使用swagger-ui库,该库在类路径的根目录中具有index.html文件。这样index.html,当我按下root
url时,这便成为我应用程序的起始页/
但是我想index.tplresources/templatesBoot项目的文件夹中使用自定义的Groovy模板。当我执行这种方法时,应用程序仍index.html从Swagger-
UI JAR文件显示。

如何使用项目中的自定义项覆盖jar中的索引页?

UPD:以下方法对我不起作用。它返回404错误。然后添加@EnableWebMvc批注,现在Spring找不到我的Groovy模板。我的Groovy模板的类路径中有所有必需的依赖项,并且它们在属性文件中已打开。似乎Spring根本无法解析Groovy模板。


阅读 270

收藏
2020-05-30

共1个答案

一尘不染

Spring
Boot的WebMvcAutoConfigurationAdapter默认情况下(在addStaticIndexHtmlViewControllers方法中)注册从“
/”到“ /index.html”的转发。因此,您必须在路径“ /index.html”下注册视图。

可以@RequestMapping("/index.html")在控制器上执行以下操作:

@Configuration
public class WebConfig extends WebMvcConfigurerAdapter
{
    @Override
    public void addViewControllers(ViewControllerRegistry registry)
    {
        registry.addViewController("/index.html").setViewName("index");
    }
}

另一种选择是覆盖WebMvcAutoConfigurationAdapter和禁用WebMvcAutoConfiguration

2020-05-30