Spring Boot2 入门学习14.使用SpringDoc的 Swagger

Posted 编程圈子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring Boot2 入门学习14.使用SpringDoc的 Swagger相关的知识,希望对你有一定的参考价值。

一、说明

1. Swagger2、3版本区别

Swagger3 和 Swagger2 使用有一些区别。 Swagger2 基于OpenApi3在2017年停止维护, 使用Swagger3(也是基于OpenApi3)代替。

  • Swagger2包名: io.swagger
  • Swagger3包名: io.swagger.core.v3
  • Swagger3 支持Spring5、OpenApi 3.0.3

2. 关于SpringFox

SpringFox开源项目用来将Swagger2集成到Spring中。

3. 关于SpringDoc

  • SpringDoc开源项目用来将Swagger3集成到Spring中。
  • 该组织的项目支持Swagger 页面Oauth2登陆。

二、使用SpringDoc

1. 引用包

不要使用SpringFox或Swagger的依赖,直接使用springdoc-openapi-ui:

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

2. 一些swagger3注解

swagger2OpenAPI 3注解位置
@Api@Tag(name = “接口类描述”)Controller 类
@ApiOperation@Operation(summary =“接口方法描述”)Controller 方法
@ApiImplicitParams@ParametersController 方法
@ApiImplicitParam@Parameter(description=“参数描述”)Controller 方法的 @Parameters 里
@ApiParam@Parameter(description=“参数描述”)Controller 方法的参数上
@ApiIgnore@Parameter(hidden = true) 或 @Operation(hidden = true) 或 @Hidden-
@ApiModel@SchemaDTO类上
@ApiModelProperty@SchemaDTO属性上

3. 修改分组

   @Bean
    public GroupedOpenApi publicApi() {
        return GroupedOpenApi.builder()
                .setGroup("springshop-public")
                .pathsToMatch("/public/**")
                .build();
    }
  
    @Bean
    public GroupedOpenApi adminApi() {
        return GroupedOpenApi.builder()
                .setGroup("springshop-admin")
                .pathsToMatch("/admin/**")
                .build();
    }

如果只有一个Docket,可以使用配置文件来配置:

springdoc.packagesToScan=package1, package2
springdoc.pathsToMatch=/v1, /api/balance/**

4. 访问

http://localhost/swagger-ui
在这里插入图片描述

三、使用knife4j

依赖:

<dependency>
    <groupId>com.github.xiaoymin</groupId>
    <artifactId>knife4j-springdoc-ui</artifactId>
    <!--在引用时请在maven中央仓库搜索3.X最新版本号-->
    <version>3.0.2</version>
</dependency>

以上是关于Spring Boot2 入门学习14.使用SpringDoc的 Swagger的主要内容,如果未能解决你的问题,请参考以下文章

Spring Boot2从入门到实战:统一异常处理

Spring Boot2 系列教程(二十七)Nginx 极简扫盲入门

spring boot2.0一看就会的超详细快速入门-自定义父POM

全网最新Spring Boot2.5.1整合Activiti5.22.0企业实战教程<入门篇>

Spring Boot2:使用Spring Boot2集成Mybatis缓存机制

SpringBoot之整合Redis分析和实现-基于Spring Boot2.0.2版本