SpringBoot整合Swagger Api自动生成文档的实现

 更新时间:2023年06月12日 08:42:21   作者:Cosolar  
本文主要介绍了SpringBoot整合Swagger Api自动生成文档的实,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

Swagger 是一套 RESTful API 文档生成工具,可以方便地生成 API 文档并提供 API 调试页面。而 Spring Boot 是一款非常优秀的 Java Web 开发框架,它可以非常方便地构建 Web 应用程序。在本文中,我们将介绍如何使用 Swagger 以及如何在 Spring Boot 中整合 Swagger。

一、添加 Swagger 依赖

首先,在 pom.xml 文件中添加 Swagger 的依赖:

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

二、创建接口类

在 Spring Boot 项目中创建一个 Controller,并在该 Controller 中添加一个简单的接口。例如,我们创建一个名为 HelloController 的 Controller 类,并添加一个 /hello 接口,返回一个字符串 "hello world"。

@RestController
public class HelloController {
    @GetMapping("/hello")
    public String hello() {
        return "hello world";
    }
}

三、添加 Swagger 配置类

接下来,我们需要创建一个 Swagger 配置类,用于配置 Swagger 文档的生成方式。在项目中创建一个名为 SwaggerConfig 的类,添加如下代码:

@Configuration
@EnableSwagger2
public class SwaggerConfig {
    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.example.demo.controller"))
                .paths(PathSelectors.any())
                .build();
    }
    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("Spring Boot 中使用 Swagger2 构建 RESTful APIs")
                .description("更多 Spring Boot 相关文章请关注:https://www.example.com/")
                .termsOfServiceUrl("https://www.example.com/")
                .contact(new Contact("binjie09", "", "binjie09@example.com"))
                .version("1.0")
                .build();
    }
}

其中,createRestApi() 方法用于创建一个 Docket 对象,该对象包含了 Swagger 文档的生成方式设置。在上述代码中,我们设置了文档的基本信息,以及包扫描路径等。

四、访问 Swagger 页面

最后,启动 Spring Boot 应用程序,访问 http://localhost:8080/swagger-ui.html 即可看到 Swagger 文档页面。在页面左侧,我们可以看到程序中创建的 API 接口,点击接口后可以看到该接口的详细信息。

在 Swagger 页面上,我们还可以进行接口测试和调试。在 /hello 接口上,点击 "Try it out" 按钮,填写请求参数后点击 "Execute" 按钮,即可发送请求并获取响应。
通过整合 Swagger,我们可以在 Spring Boot 应用程序中快速生成 RESTful API 文档,并且直接在页面上进行调试和测试,非常方便。

五、整合一个更友好的UI接口文档 Knife4j

Knife4j 是一款基于 Swagger 的 API 文档生成工具,它提供了非常友好的 UI 界面,可以方便地生成和浏览 API 文档。在本文中,我们将介绍如何在 Spring Boot 中整合 Knife4j。

1、添加 Knife4j 依赖

首先,在 pom.xml 文件中添加 Knife4j 的依赖:

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

2、添加 Knife4j 配置类

接下来,我们需要创建一个 Knife4j 配置类,用于配置 Knife4j 文档的生成方式。在项目中创建一个名为 Knife4jConfig 的类,添加如下代码:

@Configuration
@EnableKnife4j
public class Knife4jConfig {
    @Bean
    public Docket docket() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.example.demo.controller"))
                .paths(PathSelectors.any())
                .build();
    }
    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("Spring Boot 中使用 Knife4j 构建 RESTful APIs")
                .description("更多 Spring Boot 相关文章请关注:https://www.example.com/")
                .termsOfServiceUrl("https://www.example.com/")
                .contact(new Contact("binjie09", "", "binjie09@example.com"))
                .version("1.0")
                .build();
    }
}

在上述代码中,我们使用了 @EnableKnife4j 注解开启了 Knife4j 的自动配置。在 docket() 方法中,我们设置了文档的基本信息、包扫描路径等。需要注意的是,在 Knife4j 中,我们需要使用 Swagger 2.x 版本的 API。

3、访问 Knife4j 页面

最后,启动 Spring Boot 应用程序,访问 http://localhost:8080/doc.html 即可看到 Knife4j 文档页面。与 Swagger 相比,Knife4j 提供了更加友好的 UI 界面,并且可以直接在页面上进行接口测试和调试,非常方便。

通过整合 Knife4j,我们可以在 Spring Boot 应用程序中快速生成 RESTful API 文档,并且直接在页面上进行调试和测试,提高了开发效率。

到此这篇关于SpringBoot整合Swagger Api自动生成文档的实现的文章就介绍到这了,更多相关SpringBoot Swagger Api自动生成 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Mybatis-Plus3.2.0 MetaObjectHandler 无法进行公共字段全局填充

    Mybatis-Plus3.2.0 MetaObjectHandler 无法进行公共字段全局填充

    这篇文章主要介绍了Mybatis-Plus3.2.0 MetaObjectHandler 无法进行公共字段全局填充,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • spring-data-redis 动态切换数据源的方法

    spring-data-redis 动态切换数据源的方法

    最近遇到了一个麻烦的需求,我们需要一个微服务应用同时访问两个不同的 Redis 集群,一般情况下我们会怎么处理呢,下面通过场景分析给大家介绍spring-data-redis 动态切换数据源的方法,感兴趣的朋友一起看看吧
    2021-08-08
  • java使用RandomAccessFile类基于指针读写文件实例代码

    java使用RandomAccessFile类基于指针读写文件实例代码

    这篇文章主要介绍了java使用RandomAccessFile类基于指针读写文件实例代码,具有一定参考价值,需要的朋友可以了解下。
    2017-10-10
  • Idea 2020.2安装MyBatis Log Plugin 不可用的解决方法

    Idea 2020.2安装MyBatis Log Plugin 不可用的解决方法

    小编在使用时发现Idea 2020.2 MyBatis Log Plugin 收费了,这个可以替代用,小编特此把解决方案分享到脚本之家平台供大家参考,感兴趣的朋友一起看看吧
    2020-11-11
  • 图文详解OkHttp的超时时间

    图文详解OkHttp的超时时间

    HTTP是现代应用常用的一种交换数据和媒体的网络方式,高效地使用HTTP能让资源加载更快,节省带宽,OkHttp是一个高效的HTTP客户端,下面这篇文章主要给大家介绍了关于OkHttp超时时间的相关资料,需要的朋友可以参考下
    2021-10-10
  • Java的MyBatis框架中关键的XML字段映射的配置参数详解

    Java的MyBatis框架中关键的XML字段映射的配置参数详解

    将XML文件的schema字段映射到数据库的schema是我们操作数据库的常用手段,这里我们就来整理一些Java的MyBatis框架中关键的XML字段映射的配置参数详解,需要的朋友可以参考下
    2016-06-06
  • SpringBoot框架实现切换启动开发环境和测试环境

    SpringBoot框架实现切换启动开发环境和测试环境

    这篇文章主要介绍了SpringBoot框架实现切换启动开发环境和测试环境,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • Java利用Selenium操作浏览器的示例详解

    Java利用Selenium操作浏览器的示例详解

    本文主要介绍如何使用java代码利用Selenium操作浏览器,某些网页元素加载慢,如何操作元素就会把找不到元素的异常,此时需要设置元素等待,等待元素加载完,再操作,感兴趣的可以了解一下
    2023-01-01
  • Java中用户线程与守护线程的使用区别

    Java中用户线程与守护线程的使用区别

    这篇文章主要介绍了Java中用户线程与守护线程的使用区别,Java语言中无论是线程还是线程池,默认都是用户线程,因此用户线程也被成为普通线程,下文关于其与守护线程的区别详情,需要的小伙伴可以参考一下
    2022-05-05
  • Java线程间通信不同步问题原理与模拟实例

    Java线程间通信不同步问题原理与模拟实例

    这篇文章主要介绍了Java线程间通信不同步问题,结合实例形式分析了java线程间通信不同步问题的原理并模拟实现了线程间通信不同步情况下的异常输出,需要的朋友可以参考下
    2019-10-10

最新评论