介绍

按照Swagger的规范定义接口及相关信息,即可生成接口文档及在线调试页面

而knife4j是集成Swagger生成api文档的增强解决方案

使用方法

1, 导入knife4j的maven坐标

1
2
3
4
5
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-spring-boot-starter</artifactId>
<version>${knife4j}</version>
</dependency>

2, 在配置类中加入 knife4j的相关配置

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.work.controller"))
.paths(PathSelectors.any())
.build();
return docket;
}

3, 设置静态资源映射, 否则接口文档无法访问

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

至此, 可在 localhost:[port]/doc.html 中访问到接口文档