SWAGGER, @Configuration не работает с SpringFoxConfig - PullRequest
0 голосов
/ 19 сентября 2019

Я работаю со средой загрузки Spring, пытаюсь комментировать свои API с помощью Swagger, но это не работает.Я почти уверен, что проблема в классе конфигурации 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>

Программа не работает, и он показывает мне это erreur, когда я запускаю его с @Configuration, но когда я удаляю @Configuration, он запускается, и когда я набираю http://localhost:9080/swagger-ui.html, он ничего не показывает мне (см. Рисунок выше), зная, что я хочу, чтобы онПокажите мне информацию, которую я написал в классе SpringFoxConfig.

Swagger UI У вас есть решение или объяснение моей проблемы?

Спасибо.

1 Ответ

0 голосов
/ 20 сентября 2019

Попробуйте заменить эту строку в вашем файле 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/**");
    }

}
...