Swagger---API 接口文档自动生成工具

1、API 接口文档

  前后端分离开发模式中,在项目中会创建Restful风格的API接口,供第三方或前端人员使用,那么前端人员在使用的过程中如何知道有哪些接口以及接口详细信息呢?在实际开发中,一般通过写API接口文档来进行沟通交流。人工来维护API文档会带来很多问题,如不同的开发人员写的API文档不一样、文档的维护不方便、不能及时更新、文档中定义的接口与实际接口不一致等等,这些问题都会影响开发进度和开发质量。
  因此,在实际开发中,常用Swagger-API接口文档自动生成工具,帮助项目自动生成和维护接口文档。
  Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务,它具有以下特点:
  及时性:接口变更后,Api文档同步自动更新;
  规范性:遵守RESTful风格,保证接口的规范性,如接口的地址,请求方式,参数及响应格式和错误信息;
  一致性:接口信息一致,不会因开发人员拿到的文档版本不一致而导致分歧;
  可测性:直接在接口文档上进行测试,可以在线测试Api接口,方便理解业务。
 
2、 在 SpringBoot 项目中应用 Swagger
(1)在pom.xml中加入Swagger依赖
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
 
(2)开启Swagger
在项目的启动类上加上@EnableSwagger2注解,表示开启Swagger,同时它也支持自定义UI页面的一些信息。
 
(3)修改application.yml文件
因为 Swagger使用的路径匹配是基于AntPathMatcher的,而Spring Boot 2.7.X使用的是PathPatternMatcher。
因此,需要在application.yml里做如下配置
mvc:
pathmatch:
matching-strategy: ant_path_matcher
 
(4)启动项目,访问API在线文档页面
访问:http://localhost:8080/swagger-ui.html,即可看到接口文档信息
 
3 、定义 Swagger 配置类,自定义 API 文档信息
实现一个Swagger配置类,以实现对Swagger页面一些展示信息的定制化,例如添加作者,标题,描述等信息。
 
4、通过注解来完善 API 文档
(1)@Api注解: 用来标记当前 Controller 的功能。
位置:在controller前
格式:@Api(tags="……")
(2)@ApiOperation注解:用来标记一个方法的作用。
位置:在controller类中的方法前
格式:@ApiOperation(“……”)
(3) @ApiImplicitParam注解:用来描述一个参数,可以配置参数的中文含义,也可以给参数设置默认值,这样在接口测试的时候可以避免手动输入;
(4) @ApiModel :用在实体类上,主要属性有description(描述)、parent(父类)、subTypes、value、discriminator等;
(5) @ApiModelProperty:用在实体类属性上,主要属性有access、accessMode、allowableValues、allowEmptyValue(是否允许为空)、dataType(数据类型)、example(示例)、hidden(是否隐藏)、name(名称)、notes、required(是否必需)、value(说明)等。
posted @ 2023-04-02 14:50  Linqylin  阅读(279)  评论(0编辑  收藏  举报