我是靠谱客的博主 务实板凳,最近开发中收集的这篇文章主要介绍Springboot集成Swagger2和Swagger3Springboot集成Swagger2和Swagger3,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Springboot集成Swagger2和Swagger3

github仓库地址:https://github.com/xiaoxingOvO/springboot-study

文章目录

  • Springboot集成Swagger2和Swagger3
    • 前言
    • 1、pom文件中引入Swagger依赖
      • Swagger2
      • Swagger3
      • 使用swagger-bootstrap-ui
    • 2、swagger配置
      • Swagger2
      • Swagger3

前言

Swagger3是在Swagger2上做了大版本升级,使用方式差别不大,需要注意的是部分区别和配置的不同(如下表所示)。下面分别介绍了Springboot整合Swagger2和Swagger3的过程。

区别Swagger2Swagger3
依赖springfox-swagger2、springfox-swagger-uispringfox-boot-starter
启动注解@EnableSwagger2@EnableOpenApi
Document类型DocumentationType.SWAGGER_2DocumentationType.OAS_30
访问地址http://ip:port/context-path/swagger-ui.htmlhttp://ip:port/context-path/swagger-ui/index.html

访问地址记得拼接服务名,如果没有在配置文件中配置服务名,可以忽略。

1、pom文件中引入Swagger依赖

Swagger2

<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>2.9.2</version>
</dependency>
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger-ui</artifactId>
    <version>2.9.2</version>
</dependency>

这里使用的Swagger版本是2.9.2、Springboot 版本是2.5.14,如果使用的Springboot版本过高,启动会报错。Springboot版本在2.6以下即可正常启动。

Swagger3

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

这里使用的Springboot版本是2.7.6,启动正常。

使用swagger-bootstrap-ui

<dependency>
    <groupId>com.github.xiaoymin</groupId>
    <artifactId>swagger-bootstrap-ui</artifactId>
    <version>1.9.6</version>
</dependency>

引入依赖后启动项目访问地址变成:http://ip:port/content-path/doc.html

2、swagger配置

Swagger2

@Configuration
@EnableSwagger2
public class Swagger2Config {

    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .groupName("1.0")
                .select()
                .apis(RequestHandlerSelectors.withClassAnnotation(Api.class))
                .paths(PathSelectors.any())
                .build();
    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("swagger2 RestFul APIs")
                .description("swagger2接口文档")
                .contact(new Contact("xx", "http://blog.csdn.net", "xx@email.com"))
                .version("1.0")
                .build();
    }
}

Swagger3

@Configuration
@EnableOpenApi
public class Swagger3Config {

    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.OAS_30)
                .apiInfo(apiInfo())
                .groupName("1.0")
                .select()
                .apis(RequestHandlerSelectors.withClassAnnotation(Api.class))
                .paths(PathSelectors.any())
                .build();
    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("swagger3 RestFul APIs")
                .description("swagger3接口文档")
                .contact(new Contact("xx", "http://blog.csdn.net", "xx@email.com"))
                .version("1.0")
                .build();
    }
}

最后

以上就是务实板凳为你收集整理的Springboot集成Swagger2和Swagger3Springboot集成Swagger2和Swagger3的全部内容,希望文章能够帮你解决Springboot集成Swagger2和Swagger3Springboot集成Swagger2和Swagger3所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(57)

评论列表共有 0 条评论

立即
投稿
返回
顶部