SpringBoot后端开发常用工具详细介绍——SpringDoc接口文档

背景说明

之前springboot开发的时候,每次都用一个框架,Java8和springboot2用了好久,一直都是用Swagger2生成接口文档。

前段时间换了Java17和springboot3,发现springfox+swagger2报错了,觉得是版本问题,就去maven仓库中找最新的swagger2的依赖版本,结果发现这东西好久没更新了,自然用在最新的技术里就不支持了。

找了好久发现Java17和springboot3已经不再支持springfox和swagger了,于是更换了springdoc生成swagger接口文档。

Swagger接口文档

官方文档

可以参考的内容springdoc使用方法

依赖

xml 复制代码
<dependency>
    <groupId>org.springdoc</groupId>
    <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
    <version>${spring-doc.version}</version>
</dependency>
<dependency>
    <groupId>org.springdoc</groupId>
    <artifactId>springdoc-openapi-starter-webmvc-api</artifactId>
    <version>${spring-doc.version}</version>
</dependency>

访问地址

纯json地址http://localhost:10220/v3/api-docs

有ui的地址http://localhost:10220/swagger-ui/index.html

配置文件

yml 复制代码
springdoc:
  packages-to-scan: com.swaggerdemo.test.controller #扫描的接口类的包
  api-docs:
  	enabled: true # 是否启用
    path: /v3/api-docs  #配置纯json地址
  swagger-ui:
    path: /swagger-ui.html #配置swagger ui的地址

配置类

分组

java 复制代码
@Configuration
public class SwaggerConfig {
    @Bean
    public OpenAPI openAPI() {
        return new OpenAPI()
                .info(this.getApiInfo());
    }

	// 分组
    @Bean("sysGroupApi")
    public GroupedOpenApi sysGroupApi() {
        return GroupedOpenApi.builder().group("系统模块组")
                .pathsToMatch("/test/**") // 以/test开始的接口,右上角的分组
                .build();
    }

    private Info getApiInfo() {
        return new Info()
                .title("标题")
                .description("描述")
                .summary("")
                .version("版本");
    }
}
相关推荐
明月_清风4 小时前
加密解密系统完全指南:原理剖析与 Go 实践
后端
方也_arkling5 小时前
【Java-Day08】static / final / 枚举
java·开发语言
橙淮5 小时前
Spring Bean作用域与生命周期全解析
java·spring
Chengbei115 小时前
一站式源码安全检测工具、云安全 / APP / 小程序源码敏感信息递归多层目录扫描AK、JWT、手机号、身份证等敏感信息
java·开发语言·安全·web安全·网络安全·系统安全·安全架构
llz_1125 小时前
web-第一次课后作业
java·开发语言·idea
秋95 小时前
Java项目运行5天左右自动宕机:系统性定位与解决方案
java·开发语言·python
小江的记录本5 小时前
【JVM虚拟机】垃圾回收GC:垃圾收集器:CMS:核心原理、回收流程、优缺点、废弃原因(附《思维导图》+《面试高频考点清单》)
java·jvm·后端·python·spring·面试·maven
DIY源码阁6 小时前
JavaSwing学生成绩管理系统 - MySQL版
java·数据库·mysql·eclipse
冬奇Lab6 小时前
每日一个开源项目(第105篇):Twenty - 跳出 Salesforce 的圈套,定义现代开源 CRM
前端·后端·开源
basketball6167 小时前
C++ NULL 和 nullptr 区别 以及 nullptr 的核心实现
java·开发语言·c++