swagger2和3的区别(swagger和swagger2)

swagger2和3的区别(swagger和swagger2)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



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), 这些工具将会为我们自动地创建自动化测试。

优点:

  1. 可以通过Swagger给一些比较难理解的属性或者接口增加注释信息
  2. 接口文档实时更新
  3. 可以在线测试

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:主要属性

实例:

编程小号
上一篇 2025-03-05 23:06
下一篇 2025-04-13 11:21

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/54240.html