Swagger2 迁移至 SpringDoc openapi


由于springfox swagger在最新的springboot 2.6.x版本中频频报错无法使用,因此计划迁移至springdoc

这里仅记录个人使用经验,更具体的信息见官方文档

一、导入依赖

   <dependency>
      <groupId>org.springdoc</groupId>
      <artifactId>springdoc-openapi-ui</artifactId>
      <version>1.5.13</version>
   </dependency>

仅需导入这一个依赖即可

二、运行

  • springdoc无需注解开启,正常启动项目即可

  • 默认访问路径与swagger2一致:http://server:port/context-path/swagger-ui.html

  • 也可在application.yml中自定义访问路径,例:

    springdoc:
      swagger-ui:
        path: /swagger-ui
    

三、注解

  • swagger2所对应注解,官方文档中有详细介绍,这里只写几个常用的

  • @ApiModel(value = "") -> @Schema(title = "")

    @ApiModelProperty(value = "") -> @Schema(title = "")

    springfox:
    @ApiModel(value= "User")
    public class User {
        @ApiModelProperty(value = "姓名")
        private String name;
    }
    
    springdoc:
    @Schema(title = "User")
    public class User {
        @Schema(title = "姓名")
        private String name;
    }
    
  • @Api(tags = "") -> @Tag(name = "")

    @ApiOperation(value = "", tags = {""}) -> @Operation(summary = "", tags = "")

    springfox:
    @Api(tags = "TestController API")
    @RestController
    public class TestController {
        @ApiOperation(value = "根据ID查询", tags = "TestController API")
        @GetMapping(value = "/{id}")
        public Result selectOne(@PathVariable Long id) {
            ...
        }
    }
    
    springdoc:
    @Tag(name = "TestController API")
    @RestController
    public class TestController {
        @Operation(summary = "根据ID查询", tags = "TestController API")
        @GetMapping(value = "/{id}")
        public Result selectOne(@PathVariable Long id) {
            ...
        }
    }
    


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM