吃饼青年 2024-01-31 11:37 采纳率: 0%
浏览 6

springdoc替换swagger方案

问题描述:
项目中目前使用的是swagger,但是springfox 3.0.0已经很久没有更新了,想着切换到springdoc,springdoc的官方文档我也看过了,迁移方案有一点,那就是项目中目前的@ApiModelProperty等swagger的注解,不想真的按照springdoc迁移提示的替换成@Tag等,这部分工作量不小,有没有改动最小的方案做切换呢?

代码:

 <dependency>
              <groupId>io.springfox</groupId>
            <artifactId>springfox-boot-starter</artifactId>
            <version>3.0.0</version>
        </dependency>

        <dependency>
            <groupId>com.github.xiaoymin</groupId>
            <artifactId>knife4j-spring-boot-starter</artifactId>
            <version>3.0.3</version>
        </dependency>

目前思路:暂无

  • 写回答

4条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-01-31 11:37
    关注

    引自免费微信小程序:皆我百晓生

    解决方案:

    你可以尝试使用springdoc-openapi-ui库作为替代方案,它是一个用于创建和维护OpenAPI文档的库,与springboot集成非常方便。

    以下是使用springdoc替换swagger的步骤:

    1. 从pom.xml中移除旧的swagger依赖,以及knife4j的依赖。
    2. 添加springdoc-openapi-ui的依赖。请确保使用最新版本。
    <dependency>
        <groupId>org.springdoc</groupId>
        <artifactId>springdoc-openapi-ui</artifactId>
        <version>1.5.9</version>
    </dependency>
    
    1. 在启动类(通常是带有@SpringBootApplication注解的类)上添加@EnableOpenApi注解来启用springdoc。 例如:
    @SpringBootApplication
    @EnableOpenApi
    public class YourApplication {
        public static void main(String[] args) {
            SpringApplication.run(YourApplication.class, args);
        }
    }
    
    1. 替换所有旧的swagger注解为新的springdoc注解。例如,将@ApiOperation替换为@Operation,将@ApiParam替换为@Parameter等等。具体替换列表请参考springdoc官方文档
    2. 编译并启动你的应用程序。现在你应该可以通过访问http://localhost:8080/swagger-ui.html来查看使用springdoc生成的API文档。你也可以访问http://localhost:8080/v3/api-docs来获取OpenAPI规范的JSON。

    注意:由于你不想完全替换旧的swagger注解,这可能导致部分功能无法正常工作。为了避免这个问题,你可以使用@migrateSwaggerAnnotations注解来模拟旧的swagger注解。但这只是一个不推荐的临时解决方案,建议尽早迁移到新的springdoc注解。

    希望以上信息能帮助到你,如果有任何疑问,请随时提问。

    评论

报告相同问题?

问题事件

  • 创建了问题 1月31日

悬赏问题

  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题