测试工具

apifox 接口测试工具

httpClient idea自带接口测试工具

swagger+knife4j 图形化测试网页

【注意:使用Knife4j2.0.6及以上的版本,Spring Boot的版本必须大于等于2.2.x】

maven引入knife4j配置

1
2
3
4
5
6
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-spring-boot-starter</artifactId>
<!--在引用时请在maven中央仓库搜索2.X最新版本号-->
<version>2.0.8</version>
</dependency>

添加配置类config–>Knife4jConfig

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
@Configuration
@EnableSwagger2WebMvc
public class Swagger {

@Bean(value = "defaultApi")
public Docket defaultApi() {
Docket docket = new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
//分组名称
.groupName("2.X版本")
.select()
//这里指定Controller扫描包路径
// .apis(RequestHandlerSelectors.basePackage("com.github.xiaoymin.knife4j.controller"))
//这里指定扫描有ApiOperation注解的类
.apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
//所有路径
.paths(PathSelectors.any())
//不包含^/inner/.*的路径
//.paths(input -> !input.matches("^/inner/.*"))
.build();
return docket;
}

private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("左拿先生的RESTful APIs")
.description("构建RESTful APIs")
.termsOfServiceUrl("https://znxs.vip")
.contact(new Contact("左拿先生",
"https://znxs.vip",
"zonaznxs@163.com"))
.version("1.0")
.build();
}
}

这个时候若还是没有配置成功,可以添加兼容性的一句话

1
spring.mvc.pathmatch.matching-strategy=ant_path_matcher

以上使用低版本springboot,下面采用springboot2.7.0以上3以下版本

knife4j依赖(微服务导入在common模块在)

1
2
3
4
5
6
<!-- knife4j openapi2 接口文档 -->
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-openapi2-spring-boot-starter</artifactId>
<version>4.4.0</version>
</dependency>

配置文件(配置在需要使用swagger的模块下)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
knife4j:
enable: true
openapi:
title: "模块接口文档"
description: "接口文档"
email: "669583491@qq.com"
concat: "znxs"
url: "znxs.vip"
version: "v1.1.0"
group:
default:
group-name: default
api-rule: package
api-rule-resources:
# 包扫描路径
- com.sky.controller.admin

配置统一返回类 统一状态码 统一异常信息处理 Result

配置自动执行 Job

集成后端项目框架

spring boot

文件上传下载方案