Swagger接口文档

学习使用Swagger,利用集成Swagger生成接口文档及在线调试页面的增强方案Knife4j来完成 。

1.导入 knife4j依赖

1
2
3
4
5
6
<!-- https://mvnrepository.com/artifact/com.github.xiaoymin/knife4j-spring-boot-starter -->
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-spring-boot-starter</artifactId>
<version>3.0.3</version>
</dependency>

2.配置类中加入knife4j相关配置

配置类是指WebMvcConfiguration,在该配置类下加入以下代码,并调整api的信息和包的位置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/**
* 通过knife4j生成接口文档
* @return
*/
@Bean
public Docket docket() {
ApiInfo apiInfo = new ApiInfoBuilder()
.title("标题")
.version("2.0")
.description("简介")
.build();
Docket docket = new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo)
.select()
//这里是需要扫描的接口所在的包
.apis(RequestHandlerSelectors.basePackage("com.sky.controller"))
.paths(PathSelectors.any())
.build();
return docket;
}

3.设置静态资源映射

同样是在WebMvcConfiguration下加入以下代码

1
2
3
4
5
6
7
8
9
10
/**
* 设置静态资源映射
* @param registry
*/
protected void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/doc.html")
.addResourceLocations("classpath:/META-INF/resources/");
registry.addResourceHandler("/webjars/**")
.addResourceLocations("classpath:/META-INF/resources/webjars/");
}

配置完成后访问doc.html就可以进入接口文档页面

4.常用注释

@Api

@ApiOperation

@ApiModel

@ApiModelProperty