目录
Swagger2简介
1. 什么是Swagger2
Swagger 2是一种用于描述RESTful API的规范,它通过JSON格式标准化API的定义,支持自动生成API文档、代码框架,提供交互式测试工具,并允许API版本控制和安全方案的集成,从而提高开发效率和API的可用性。
2. 为什么使用Swagger2
Swagger 2是一个强大的API文档生成和测试工具,它通过标准化的JSON描述格式简化了API的设计、开发和维护过程,提供了自动文档生成、代码框架生成、交互式测试界面以及版本控制等功能,同时支持广泛的编程语言和开发框架,拥有丰富的社区和插件生态,极大地提高了API开发的效率和质量。
Springboot整合Swagger2
首先说一下,本次整合用的SpringBoot版本是2.0,因为SpringBoot3.0整合不了Swagger2,原因是swagger的依赖底层用的是javax依赖包,而spring boot 3.x版本都是jakarta依赖包,一般是把spring boot2.5以下就可以了,但是想要2.5版本以上spring boot启动就会出报错。
1. 项目结构
2. swagger2依赖
<!--引入swagger2依赖-->
<dependency>
<groupId>com.spring4all</groupId>
<artifactId>swagger-spring-boot-starter</artifactId>
<version>1.9.1.RELEASE</version>
</dependency>
<!--图形化依赖-->
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>swagger-bootstrap-ui</artifactId>
<version>1.9.6</version>
</dependency>
3 .创建swagger2配置类
@Configuration
public class SwaggerConfig {
//创建swagger实例
@Bean
public Docket docket() {
Docket docket=
new Docket(DocumentationType.SWAGGER_2)
.apiInfo(getInfo())//设置接口文档的信息
.select()
.apis(RequestHandlerSelectors.basePackage("com.ykq.controller")) //指定为那些路径下得到类生成接口文档
.build()
;
return docket;
}
private ApiInfo getInfo(){
Contact DEFAULT_CONTACT = new Contact("李四", "http://www.ldw.com", "[email protected]");
ApiInfo DEFAULT = new ApiInfo("用户管理系统API", "该系统中的接口专门操作用户的", "v1.0", "http://www.baidu.com",
DEFAULT_CONTACT, "与相似", "http://www.jd.com", new ArrayList<VendorExtension>());
return DEFAULT;
}
}
4. 开启swagger的注解驱动
5. 访问swagger接口文档
第一种: http://localhost:8080/swagger-ui.html
第二种: http://localhost:8080/doc.html
点击需要测试的接口方法,如图:
查看结果:
6. swagger2常用注解
1. @Api(tags=“”): 使用在接口类上,对接口类的说明
2. @ApiOperation(value=""):接口方法上,对接口方法的说明
3. @ApiImplicitParams(
@ApiImplicitParam(name=“参数名”,value="参数说明",require="是否必写",dataType="数据类型")
) : 接口方法所有参数的概述
4. @ApiModel(value=""): 使用在实体类上,对实体类的说明
5. @ApiModelProperty(value=""):使用在实体类属性上,对属性的说明
SpringBoot整合定时器
1. 定时器简介
定时器到Spring Boot应用中是为了实现自动化的任务调度,提高应用效率,简化开发流程,并通过高度可配置的执行计划满足不同场景的需求。它支持易于测试的代码结构,增强应用的可扩展性,并与Spring生态无缝集成。
2. 引入定时器依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-quartz</artifactId>
</dependency>
3. 创建一个定时业务类
@Configuration
public class MyQuartzConfig {
//定时业务代码
//定义定时规则
@Scheduled(cron = "0/5 * * * * ?")
public void show(){
System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
//发生短信 或者删除oss冗余文件 或者取消订单
}
}
4. 开启定时器注解驱动
5. cron:表达式
Cron表达式是一个字符串,用于表达时间和日期的重复模式,通常用于配置定时任务的执行计划。Cron表达式由六个或七个字段组成,每个字段代表一个时间单位。
以下是一些Cron表达式的示例:
0 * * * * ?
: 在每个小时的整点执行。0 0/30 * * * ?
: 每隔30分钟执行一次。0 0 9-17 * * ?
: 在每天的上午9点到下午5点之间,每小时的整点执行。0 0 8,14 * * ?
: 每天的上午8点和下午2点执行。0 0/5 14 * * ?
: 在每天下午2点到3点之间,每5分钟执行一次。0 0-5 14 * * ?
: 在每天下午2点开始的前5分钟内,每分钟执行一次。0 0 9 ? * 1-5
: 在每个工作日上午9点执行。
这里是一个生成Cron表达式的网址,个人感觉还不错!