4

私はSpring Restコントローラーを持っていますが、それはSpring Bootアプリケーションではありません。単なる REST API プロジェクトです。プロジェクトに swagger2 を統合したいと考えています。ネットとデモですべての例を試しましたが、うまくいきませんでした。http://localhost:8085/context/swagger-ui.htmlを実行しようとすると、404 エラーが発生します。以下の構成を見つけて、矛盾がある場合はお知らせください。どんな助けでも大歓迎です。

jar - /WEB-INF/lib の下

google-collections-1.0.jar springfox-core-2.2.2.jar springfox-schema-2.2.2.jar springfox-spi-2.2.2.jar springfox-spring-web-2.2.2.jar springfox-staticdocs-2.2 .2.jar springfox-swagger-common-2.2.2.jar springfox-swagger-ui-2.2.2.jar springfox-swagger2-2.2.2.jar

私の闊歩設定クラス-

@EnableSwagger2
public class SwaggerConfiguration {

}

私のspringconfigクラス

@EnableWebMvc
@ComponentScan(basePackageClasses = controller.class)
@Import(SwaggerConfiguration.class)
public class SpringConfiguration extends WebMvcConfigurerAdapter {

@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
    registry.addResourceHandler("swagger-ui.html")
            .addResourceLocations("classpath:/META-INF/resources/");

    registry.addResourceHandler("/webjars/**")
            .addResourceLocations("classpath:/META-INF/resources/webjars/");
}
}

springfox-java demo に従って、以下の私のアプリケーション初期化クラス。以下のクラスの有無にかかわらず試してみましたが、どちらの方法でも機能しません。

Application Initializer class

public class ApplicationInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {
@Override
protected Class<?>[] getRootConfigClasses() {
return null;
}

@Override
protected Class<?>[] getServletConfigClasses() {
    return new Class[]{controller.class};
}

@Override
protected String[] getServletMappings() {
    return new String[]{"/*"};
}
}

残りの URL にはアクセスできますが、同じコンテキストで swagger-ui.html にはアクセスできません。

ここで何が欠けているのか教えてください。

4

2 に答える 2