Spring Boot - 覆盖webjar的索引页面

时间:2015-01-08 09:18:02

标签: groovy spring-boot swagger-ui webjars

在我的项目中,我使用了swagger-ui库,它在类路径的根目录中有index.html文件。这样,当我点击index.html之类的根网址时,此/就会成为我的应用的起始页面。
但我想在我的Boot项目的index.tpl文件夹中使用我的自定义Groovy模板resources/templates。当我执行此类方法时,应用程序仍会显示来自Swagger-UI JAR文件的index.html

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

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

1 个答案:

答案 0 :(得分:2)

Spring Boot的WebMvcAutoConfigurationAdapter从" /"注册转发。到" /index.html"默认情况下(在方法addStaticIndexHtmlViewControllers中)。因此,您必须在路径" /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