Springboot3.X 集成 Swagger

简述Spring Boot 3.X集成Swagger与Knife4j的步骤:引入对应依赖,配置OpenAPI类定义文档信息,通过注解标注Controller接口,并验证访问路径。Knife4j作为Swagger增强工具需JDK≥17,支持OpenAPI3规范。

Springboot3.X 集成 Swagger

CSDN查看博主的同款文章。

第一步:创建一个springboot3.X的项目(直接省略,不会的看这里快速搭建SpringBoot3.x项目 - xiezhr - 博客园 (cnblogs.com)

第二步:引入Swagger依赖

1
2
3
4
5
6
<!--Swagger-->
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
<version>2.2.0</version>
</dependency>

第三步:添加配置文件

1
2
3
4
spring:
mvc:
pathmatch:
matching-strategy: ant_path_matcher

注意事项:我在后面测试的时候好像发现这个配置步骤可有可无。

第四步:新增一个配置类:OpenAPIConfig

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import io.swagger.v3.oas.models.ExternalDocumentation;
import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.info.Info;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;


@Configuration
@Slf4j
public class OpenAPIConfig {
@Bean
public OpenAPI openAPI() {
log.info("Swagger 接口文档开始生成");
return new OpenAPI()
.info(new Info()
.title("接口文档标题")
.description("接口文档的描述信息")
.version("版本信息:v1.0"))
.externalDocs(new ExternalDocumentation()
.description("描述")
.url("/"));
}
}

第五步:随便写一个Controller

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@Tag(name = "测试Controller", description = "这是描述")
public class IndexController {

@GetMapping("/hello")
@Operation(summary = "测试接口")
public String index(@Parameter(name = "name", description = "名称") String name) {
return "hello " + name;
}
}

第六步:启动项目,点击链接Swagger UI查看Swagger描述

注意:一般都是http://localhost:8080/swagger-ui/index.html#/这个链接,如果打不开,大概率是你的端口问题,替换8080修改成你自己的端口号,或者项目路径有统一的前缀等等…

Swagger界面

看到这个界面,就代表成功了。

Springboot3.X 集成 knife4j

前提要求:具体看官方文档快速开始 | Knife4j (xiaominfo.com)

  • Spring Boot 3 只支持OpenAPI3规范
  • Knife4j提供的starter已经引用springdoc-openapi的jar,开发者需注意避免jar包冲突
  • JDK版本必须 >= 17

第一步:引入knife4j依赖,如果之前引入了Swagger依赖,最好注释掉,maven 最好 clear 一下

1
2
3
4
5
6
<!--knif4j-->
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId>
<version>4.4.0</version>
</dependency>

第二步:新增一个配置类:OpenAPIConfig

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import io.swagger.v3.oas.models.ExternalDocumentation;
import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.info.Info;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;


@Configuration
@Slf4j
public class OpenAPIConfig {
@Bean
public OpenAPI openAPI() {
log.info("Swagger 接口文档开始生成");
return new OpenAPI()
.info(new Info()
.title("接口文档标题")
.description("接口文档的描述信息")
.version("版本信息:v1.0"))
.externalDocs(new ExternalDocumentation()
.description("描述")
.url("/"));
}
}

第三步:启动项目,点击链接knife4j页面

knife4j界面

看到这个界面,就代表成功了。


Springboot3.X 集成 Swagger
http://example.com/2025/02/20/Springboot3-X-集成-Swagger/
作者
xzy
发布于
2025年2月20日
许可协议