2

私のプロジェクトでは、クラスパスのルートに index.html ファイルを持つ swagger-ui ライブラリを使用しています。このようindex.htmlにして、ルート URL のようにヒットすると、これがアプリの開始ページになります/。 しかし、Boot プロジェクトのフォルダーから
カスタム Groovy テンプレートを使用したいと考えています。このようなアプローチを実行しても、アプリケーションはSwagger-UI JAR ファイルから表示されます。index.tplresources/templatesindex.html


jar のインデックス ページをプロジェクトのカスタム ページでオーバーライドする方法は?

UPD:以下のアプローチはうまくいきません。404 エラーを返します。次に @EnableWebMvc アノテーションを追加すると、Spring が Groovy テンプレートを見つけられなくなりました。Groovy テンプレートのクラスパスに必要なすべての依存関係があり、それらはプロパティ ファイルでオンになっています。Spring は Groovy Template をまったく解決できないようです。

4

1 に答える 1

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です。

于 2015-01-08T10:46:48.600 に答える