我使用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运行该程序时,他会向我显示此,但是当我删除@Configuration时,它将运行并且当我键入http://localhost:9080/swagger-ui.html时,它不会显示任何内容(请参阅上图)知道我希望他向我展示我在SpringFoxConfig类中编写的信息。
谢谢。
答案 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/**");
}
}