springfox3.0 已经支持swagger3了,之前SpringFox未支持 OpenAPI3 标准使用的是springdoc-openapi-ui依赖
1、创建SpringBoot项目,并确保项目能够正确运行。
2、导入相关maven依赖(对比Swagger2,Swagger3只需要导入一个依赖即可):
3、Swagger3配置类
4、访问swagger3-ui地址:http://localhost:8080/swagger-ui/index.html
application.properties配置文件
Swagger配置类
分组配置:(其他配置都是一样的)
实例:
两个model类:
官网:https://swagger.io/
当下都采取前后端分离的开发模式,前端和后端的工作由不同的工程师完成。在这种开发模式下,维护一份及时更新且完整的API 文档将会极大的提高我们的工作效率。传统意义上的文档都是后端开发人员使用word编写的,相信大家也都知道这种方式很难保证文档的及时性,这种文档久而久之也就会失去其参考意义,反而还会加大我们的沟通成本。而 Swagger 给我们提供了一个全新的维护 API 文档的方式,下面我们就来了解一下它的优点:
- 代码变,文档变。只需要少量的注解,Swagger 就可以根据代码自动生成 API 文档,很好的保证了文档的时效性。
- 跨语言性,支持 40 多种语言。
- Swagger UI 呈现出来的是一份可交互式的 API 文档,我们可以直接在文档页面尝试 API 的调用,省去了准备复杂的调用参数的过程。
- 还可以将文档规范导入相关的工具(例如 SoapUI), 这些工具将会为我们自动地创建自动化测试。
优点:
- 可以通过Swagger给一些比较难理解的属性或者接口增加注释信息
- 接口文档实时更新
- 可以在线测试
1、使用IDEA创建一个SpringBoot项目
2、导入相关依赖(项目中使用Swagger需要springfox中的:swagger2、swagger-ui)
3、通过JavaConfig对Swagger2进行配置
4、测试访问Swagger-UI页面地址(Swagger2访问地址):http://localhost:8080/swagger-ui.html
1、Swagger2配置:
-
配置Bean实例Docket
-
扫描接口:Docket.select():配置扫描包和路径
- 希望Swagger在生产环境中使用,正式发布环境不使用:
- 判断是不是生成环境
- 注入enable(flag)
配置Api文档分组
参考:Swagger3.X常用注解即可.
@Api
@Api 注解用于标注一个Controller(Class)。在默认情况下,Swagger-Core只会扫描解析具有@Api注解的类,而会自动忽略其他类别资源(JAX-RS endpoints,Servlets等等)的注解。
主要属性如下:
示例:
@ApiOperation
@ApiOperation 注解在用于对一个操作或HTTP方法进行描述。具有相同路径的不同操作会被归组为同一个操作对象。不同的HTTP请求方法及路径组合构成一个唯一操作。
主要属性:
示例:
@ApiParam
@ApiParam作用于请求方法上,定义api参数的注解。
主要属性:
实例:
@ApiImplicitParams、@ApiImplicitParam
@ApiImplicitParams、@ApiImplicitParam也可以定义参数.
- @ApiImplicitParams:用在请求的方法上,包含一组参数说明
- @ApiImplicitParam:对单个参数的说明
主要属性:
实例:
@ApiResponses、@ApiResponse
@ApiResponses、@ApiResponse进行方法返回对象的说明
主要属性:
实例:
@ApiModel、@ApiModelProperty
@ApiModel用于描述一个Model的信息(一般用在使用@RequestBody的场景,请求参数无法使用@ApiImplicitParam描述)
@ApiModelProperty用来描述一个Model的属性。
ApiModel:主要属性
ApiModelProperty:主要属性
实例:
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/54240.html