Spring Boot + Swagger3 自动生成api接口文档
一、什么是Swagger
由于Spring Boot能够快速开发、便捷部署等特性,相信有很大一部分Spring Boot的用户会用来构建RESTful API。由于存在多终端的情况(移动端,web前端,小程序等),所以我们会抽象出RESTful API并共用一些底层业务代码。 由于接口众多,并且细节复杂,所以催生了一些api框架,Swagger就凭借其使用简单、实时更新等特点脱颖而出。Swagger可以轻松的整合到Spring Boot中,并与Spring MVC程序配合组织出强大RESTful API文档。它既可以减少我们创建文档的工作量,同时说明内容又整合入实现代码中,让维护文档和修改代码整合为一体,可以让我们在修改代码逻辑的同时方便的修改文档说明。另外Swagger3也提供了强大的页面测试功能来调试每个RESTful API。
-
以OpenAPI格式定义您的API。
-
将所有API定义托管在一个地方。
-
将常见的API组件(例如数据模型和响应)存储在域中,并从API定义中引用它们。
-
与您的团队就API定义进行协作。
-
生成服务器和客户端代码,并将其推送到GitHub,GitLab,Bitbucket或Azure DevOps Services。
-
公开和私下共享您的API。
-
迭代API设计并管理多个API 版本。
二、在SpringBoot中使用Swagger
2.1 在pom中添加swagger的依赖
要使用swagge,我们首先需要在项目的pom中添加swagger依赖(这里使用的是maven构建)。我们需要添加的依赖主要有springfox-boot-starter,如果要使用其他功能(如接口文档导出)还需要引入对应的包。
<!--swagger-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-boot-starter</artifactId>
<version>3.0.0</version>
</dependency>
注意: spring-boot-starter-parent版本小于等于2.7.6需要在application.yml里面加
mvc:
pathmatch:
matching-strategy: ant_path_matcher
2.2 添加swagger配置类
package cn.test.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.env