Maven
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
使用注解在Spring容器启动后实例化Bean,注意要扫描到包
SwaggerConfig类
//通过@ EnableSwagger2注释启用Swagger 2 。
//
//定义Docket bean 之后,其select()方法返回ApiSelectorBuilder的一个实例,它提供了一种控制Swagger公开的端点的方法。
//
//可以在RequestHandlerSelectors和PathSelectors的帮助下配置选择RequestHandler的谓词。对两者使用any()将通过Swagger提供整个API的文档。
//
//这种配置足以将Swagger 2集成到现有的Spring Boot项目中。对于其他Spring项目,需要进行一些额外的调整。
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.any())
.paths(PathSelectors.any())
.build();
}
// 描述 API 信息
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("Realfake Manager APIs")
.description("管理员访问地址:https://manager.realfake.cn/")
.termsOfServiceUrl("https://manager.realfake.cn/")
.contact("吴小龙")
.version("1.0")
.build();
}
}
添加swagger-ui配置
//如果没有Spring Boot,您就无法自动配置资源处理程序。Swagger UI添加了一组资源
// 您必须将这些资源配置为扩展WebMvcConfigurerAdapter的类的一部分,并使用@EnableWebMvc进行批注。
@EnableWebMvc
public class SwaggerUI 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/");
}
}
注解使用参考:注解参考
最后打开 http://localhost:端口/swagger-ui.html