SWAGGER,@ Configuration不适用于SpringFoxConfig

时间:2019-09-19 15:08:06

标签: spring-boot swagger swagger-ui openapi

我使用Spring引导框架,我尝试使用Swagger对我的API进行评论,但是它不起作用。 我几乎可以确定问题出在SpringFoxConfig配置类中。

@EnableSwagger2
@Configuration
public class SwaggerConfig {


    @Bean
    public Docket productApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.techprimers.springboot.swaggerexample"))
                .paths(regex("/rest.*"))
                .build()
                .apiInfo(metaInfo());
    }

    private ApiInfo metaInfo() {

        ApiInfo apiInfo = new ApiInfo(
                "Spring Boot Swagger Example API",
                "Spring Boot Swagger Example API for Youtube",
                "1.0",
                "Terms of Service",
                new Contact("TechPrimers", "https://www.youtube.com/TechPrimers",
                        "techprimerschannel@gmail.com"),
                "Apache License Version 2.0",
                "https://www.apache.org/licesen.html"
        );

        return apiInfo;
    }
}

在我的POM文件中:

<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>2.6.1</version>
    <scope>compile</scope>
</dependency>

<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger-ui</artifactId>
    <version>2.6.1</version>
    <scope>compile</scope>
</dependency>

该程序无法正常工作,当我使用@Configuration运行该程序时,他会向我显示此erreur,但是当我删除@Configuration时,它将运行并且当我键入http://localhost:9080/swagger-ui.html时,它不会显示任何内容(请参阅上图)知道我希望他向我展示我在SpringFoxConfig类中编写的信息。

Swagger UI 您对我的问题有解决方案或解释吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

尝试替换SwaggerConfig文件中的这一行。

apis(RequestHandlerSelectors.any()) .paths(PathSelectors.any())

用于所有控制器方法。

将此添加到WebSecurityConfiguration类。

@Configuration
public class WebSecurityConfiguration extends WebSecurityConfigurerAdapter {

    @Override
    public void configure(WebSecurity web) throws Exception {
        web.ignoring().antMatchers("/v2/api-docs",
                                   "/configuration/ui",
                                   "/swagger-resources/**",
                                   "/configuration/security",
                                   "/swagger-ui.html",
                                   "/webjars/**");
    }

}