一、Swagger
(一)、Swagger简介
Swagger是一种用于描述、设计、构建和使用 RESTful 风格的 Web 服务的工具集和规范。它提供了一种标准的方式来定义 API,并生成交互式文档,使得开发人员、测试人员和其他利益相关者可以快速了解和使用 API。
(二)、Swagger特点
-
自动生成文档:基于 API 定义,Swagger 可以自动生成交互式文档,其中包含了 API 的详细说明、请求示例、响应示例等信息。这使得开发人员无需手动编写文档,就能够为 API 提供清晰而全面的说明。
-
API 模拟:可以根据 API 定义生成模拟数据,并提供一个模拟服务器,使得开发人员可以在实际实现 API 的情况下进行快速原型开发和测试。
-
可视化界面:Swagger 提供了一个可视化界面,称为 Swagger UI,用于展示生成的 API 文档。
-
API 定义:Swagger 使用 JSON 或 YAML 格式的文档来描述 API 的结构和操作,包括端点、请求方法、参数、响应等。通过这种方式,开发人员可以清晰地定义 API 的行为和规范。
(三)、SpringBoot整合Swagger
1、导入依赖
2、编写Swagger配置类
- @EnableOpenApi注解:启用和配置OpenAPI规范的自动生成和展示,从而简化API文档的创建和使用。
- ApiInfoBuilder使用链式调用的方式,依次设置API的标题、描述、作者信息、版本等信息,并最终调用build()方法生成ApiInfo对象。然后,可以将该ApiInfo对象传递给API文档工具,用于生成API文档的基本信息。
3、运行项目并访问http://localhost:8080/swagger-ui/
4、Swagger 注解
通过使用Swagger 注解,可以让 Swagger 自动生成的文档更加清晰明了,让其他开发者更容易理解你的 API 接口的作用和数据结构。
@Api
注解:用于描述整个 Controller 类的信息。@ApiModel
注解:用于描述模型类的信息,包括其名称、描述等信息。其中,value 属性表示模型类的名称,description 属性表示模型类的描述信息。@ApiModelProperty
注解:用于描述模型类中的属性信息,包括其名称、描述、数据类型等信息。其中,value 属性表示属性的描述信息,dataType 属性表示属性的数据类型,required 属性表示属性是否必填等。@ApiOperation
注解:用于描述具体的 API 操作。-
@ApiResponses
注解:用于描述 API 操作可能的响应结果。其中,每个 @ApiResponse 注解表示一个可能的响应,包括响应的状态码和消息。 -
@ApiParam
注解:用于描述 API 操作中的参数信息。
二、MyBatis-Plus
(一)、MyBatis-Plus简介
Mybatis-Plus是一个基于 MyBatis 的增强工具,旨在简化 MyBatis 的开发。它提供了许多便捷的特性和增强功能,使得数据访问层的开发更加高效和简单。