Springboot3.0整合swagger,废弃Springfox改用Springdoc

这篇具有很好参考价值的文章主要介绍了Springboot3.0整合swagger,废弃Springfox改用Springdoc。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

什么是Springfox

Automated JSON API documentation for API's built with Spring

官网地址:springfox.io

什么是Springdoc

springdoc-openapi java library helps to automate the generation of API documentation using spring boot projects.

官网地址:https://springdoc.org/v2/

注意:使用的是V2版本,这个版本支持springboot3.0

为什么改用springdoc

之前springboot3.0之前我用的都是Springfox来集成Swagger管理我们的API接口文档,这也就是Springfox和Springdoc最主要的功能。因为Springfox已经停止更新有段时间了,升级Springboot3.0以后会有更多问题暴露出来。Spring官网推荐了Springdoc,应该不会短时间停更,所以改用Springdoc

具体实现

Springdoc使用也很简单,基本上也是开箱即用,不需要任何的配置,直接就可以使用。

首先添加依赖:

   <dependency>
      <groupId>org.springdoc</groupId>
      <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
      <version>2.0.2</version>
   </dependency> 

     <dependency>
      <groupId>org.springdoc</groupId>
      <artifactId>springdoc-openapi-starter-webmvc-api</artifactId>
      <version>2.0.2</version>
   </dependency>

两个依赖添加上,我们就可以直接使用Swagger3的注解了

@Tag(name = "用户管理")
@RestController
public class UserController {

    private final Logger logger = LoggerFactory.getLogger(UserController.class);

    @Operation(summary = "列表")
    @PostMapping("list")
    public ResultJson list() {
        ...
        return ResultJson.success();
    }

    @Operation(summary ="新增")
    @PostMapping("add")
    public ResultJson add(AdminRole AdminRole) {
       ...
        return ResultJson.success();
    }

    @Operation(summary ="修改")
    @PostMapping("update")
    public ResultJson update(AdminRole AdminRole) {
         ...
        return ResultJson.success();
    }

    @Operation(summary ="删除")
    @PostMapping("delete")
    public ResultJson delete(Integer id) {
           ...
        return ResultJson.success();
    }
}

从Springfox迁移过来的,需要修改注解:

  • @Api → @Tag

  • @ApiIgnore → @Parameter(hidden = true) or @Operation(hidden = true) or @Hidden

  • @ApiImplicitParam → @Parameter

  • @ApiImplicitParams → @Parameters

  • @ApiModel → @Schema

  • @ApiModelProperty(hidden = true) → @Schema(accessMode = READ_ONLY)

  • @ApiModelProperty → @Schema

  • @ApiOperation(value = "foo", notes = "bar") → @Operation(summary = "foo", description = "bar")

  • @ApiParam → @Parameter

  • @ApiResponse(code = 404, message = "foo") → @ApiResponse(responseCode = "404", description = "foo")

目前只用到了这些,这样启动项目就可以看到熟悉的界面了,后面用到什么再补充。地址:http://ip:port/context-path/swagger-ui.html文章来源地址https://www.toymoban.com/news/detail-406932.html

Springboot3.0整合swagger,废弃Springfox改用Springdoc

到了这里,关于Springboot3.0整合swagger,废弃Springfox改用Springdoc的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • springboot3使用swagger文档

    在pom.xml里面引入如下俩个依赖 然后启动项目,打开浏览器访问 http://localhost:8080/swagger-ui.html 就可以看到生成的文档了  最后附上swagger2到open api的注解变化    

    2024年02月13日
    浏览(51)
  • SpringBoot3.0新特性:1、spring.factories文件废弃,自动配置包位置变化 2、Spring Native 快速体验 3、jakata api迁移 3、三方库的支持

    有自己写过starter包的友友们一定知道,一定用/META-INF/spring.factories文件定义发现自动配置,但是在springboot 2.7,这个文件就被弃用了,在springboot 3.0 就被彻底移除了。 比如之前定义的/META-INF/spring.factories文件: 而现在 这个/META-INF/spring.factories并不是不存在了,只是在3.0之后 外

    2024年02月10日
    浏览(47)
  • SpringBoot3整合MyBatisPlus

    随着 SpringBoot3 的发布, mybatisplus 也在不断更新以适配 spirngboot3 。目前仍然处于维护升级阶段,最初 2023.08 时,官方宣布对 SpringBoot3 的原生支持,详情看这里。 但是对于较新版本的 SpringBoot3 ,仍然有很多 bug ,甚至无法启动,摸爬滚打又游历社区后,实践后得到一套成功的

    2024年01月24日
    浏览(43)
  • SpringBoot3整合MinIO

    配套视频:SpringBoot3整合MinIO MinIO项目应用可参考视频 【SpringBoot3+Vue3+Uniapp小程序项目实战】 MinIO 是一个基于 Apache License v2.0 开源协议的对象存储服务。它兼容亚马逊 S3 云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器

    2024年02月21日
    浏览(55)
  • Springboot3 整合 Mybatis3

    mybatis 的必要依赖 注意:使用 springboot3 的话要使用 mybatis3 的版本以及 java17及以上的版本 注意: 如果接口上面有 注解 @Mapper 的话,就可以不用在使用扫描包注解 @MapperScan 了(当然两个可以同时存在) 注意: 最好要加上 @Mapper注解,防止忘记开启扫描 注意:头文件这里的网

    2024年01月25日
    浏览(53)
  • Java --- springboot3整合SSM

    目录 一、整合SSM场景 二、自动配置原理   引入pom依赖 数据库表: 配置数据源 配置mybatis相关配置 实体类: mapper接口: mapper接口映射文件: service实现类: controller层: 在springboot启动类添加注解: jdbc场景的自动配置 :   1、 mybatis-spring-boot-starter 导入 spring-boot-starter-jd

    2024年02月08日
    浏览(73)
  • SpringBoot3 整合Prometheus + Grafana

    通过Prometheus + Grafana对线上应用进行观测、监控、预警… 健康状况【组件状态、存活状态】Health 运行指标【cpu、内存、垃圾回收、吞吐量、响应成功率…】Metrics … 1. 基本使用 1. 场景引入 2. 暴露指标 3. 访问数据 访问 http://localhost:8080/actuator;展示出所有可以用的监控端点

    2024年02月14日
    浏览(41)
  • SpringBoot整合Mybatis-Plus(SpringBoot3)

    依赖pom.xml: pom.xml resource包下的Application.yml: Aollication.yml pojo包下的实体类User: User mapper包下的接口UserMapper: UserMapper 主启动类DemoPlusApplication DemoPlusApplication 测试类DemoApplicationTest: DemoApplicationTest 实现结果 检测数据库连接: C(Create): D(Delete): U(Update) R(Read)

    2024年03月20日
    浏览(55)
  • SpringBoot3 整合 ElasticSearch7 示例

    做仿牛客项目需要使用 es 做搜索,但是老师示例的是 SpringBoot2 + es6 去做的,然而我用的是 Spring3 + es7.17.10,于是踩了很多的坑。 在 es7 中,配置文件和查询所需的实现类都做了很大的改动,我以能成功运行的代码为例,大概说一下怎么配置和使用。 首先 yml 配置文件发生了变

    2024年02月07日
    浏览(52)
  • SpringBoot3.1.2 引入Swagger报错Type javax.servlet.http.HttpServletRequest not present解决办法

    1.问题描述: 引入swagger2.X版本后,导致SpringBoot3.1.2启动报错 2.原因分析: SpringBoot3.1.2版本依赖于jakarta依赖包,但是Swagger依赖底层应用的javax依赖包,所以只要一启动就会报错。 3.解决办法: pom.xml文件,移除swagger2 加入 代码修改 SwaggerConfig.java 实体类 controller类 遇到报错:

    2024年02月04日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包