简述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
| <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
修改成你自己的端口号,或者项目路径有统一的前缀等等…

看到这个界面,就代表成功了。
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
| <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页面

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