当前位置:网站首页 > R语言数据分析 > 正文

swagger20和21的区别(swagger2和3)



        在SpringBoot3 中集成 Swagger 接口文档,如果按照网上的很多提示,会有些问题。在这个过程中我就遇到报错:

Caused by: java.lang.ClassNotFoundException: javax.servlet.http.HttpServletRequest

        因为最新的  SpringBoot3 里javax命令空间有变化,而 Swagger 已经停更。经过调试我这边成功的配置和示例如下:

1. 引入的包为 springdoc-openapi-starter-webmvc-ui

        之前测试一些常用的 swagger-annotations

 
  

2. application.yaml中的相关配置

 
  

3. Swagger3中的 SwaggerConfig 类如下

 
  

4. Swagger3 中使用的注解

        Swagger2 和 Swagger3 使用注解区别很大,基本完全变了。

Swagger2                    Swagger3
@Api                            @Tag
@ApiOperation            @Operation
@ApiImplicitParams    @Parameters
@ApiImplicitParam      @Parameter
@ApiModel                  @Schema
@ApiModelProperty     @Schema
@ApiResponses          @ApiResponses
@ApiResponse            @ApiResponse
@ApiIgnore                  @Hidden








        主要使用的也就是 Tag 和 Parameter 注解。放在 controller的方法上标识接口。如下为我一个测试控制器的方法如下:

5. 业务控制器中的方法注解如下:

        此处只用于测试,接口方法均先返回的 Listmap数据。尚未使用 json 包处理。示例如下:

 
  

        如上,SpringBoot3 集成的 Swagger3 接口文档 实际上是用的  springdoc-openapi-starter-webmvc-ui , 网上很多集成 swagger 的多是 Springfox 的,因此没法参考使用。通过上面的这些配置处理,展示的页面效果如下:

        在使用 springdoc-openapi-starter-webmvc-ui 的时候,发现有二个问题未实现。

        一是实现的对接口的排序,在 Swagger2 里有一个 order 链式方法可以使用,但在这里我试了试,只发现在springdoc yaml 配置中有一个 writer-with-order-by-keys 。其值有 true/false/on/off ,尝试了一下都不能达到的我预期。设置为true/false 其会按字母倒序、顺序展示,但一不能实现直接按控制器中的接口方法顺序排列,也未看到哪里有自定义的顺序参数。

        二是对于接口页面 其页面的 title/description/keywords 未找到哪里可以进行设置。有些在yml配置中追加开启了 Knife4j 增强,但我对于目前的 Swagger 其它都满意,就只有这两个点没有找到方法。如果有朋友发现了这两个问题的解决方法,欢迎在评论中告诉我,感谢!

到此这篇swagger20和21的区别(swagger2和3)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • ifstream和ofstream的用法(ofstream ifstream fstream)2025-12-01 13:00:07
  • codependent no more 下载(codeorange)2025-12-01 13:00:07
  • hprof(Hprof 堆栈)2025-12-01 13:00:07
  • qpainter绘制文字(qpainter绘制文字重影)2025-12-01 13:00:07
  • qpainter 绘制图片(qpainter绘制文字)2025-12-01 13:00:07
  • bytebufferwrap会复制数组吗(bytebuffer.flip)2025-12-01 13:00:07
  • jcenter 跑路了(jcenter官网)2025-12-01 13:00:07
  • raise me up(raisemeup歌曲原唱视频)2025-12-01 13:00:07
  • framebrowser.exe停止工作(epbrowser.exe停止工作)2025-12-01 13:00:07
  • 查看docker0(查看docker日志)2025-12-01 13:00:07
  • 全屏图片