Springboot3.X 集成 Swagger
第一步:创建一个springboot3.X的项目(直接省略,不会的看这里快速搭建SpringBoot3.x项目 - xiezhr - 博客园 (cnblogs.com))
第二步:引入Swagger依赖
<!--Swagger-->
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
<version>2.2.0</version>
</dependency>
第三步:添加配置文件
spring:
mvc:
pathmatch:
matching-strategy: ant_path_matcher
注意事项:我在后面测试的时候好像发现这个配置步骤可有可无。
第四步:新增一个配置类:OpenAPIConfig
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
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 一下
<!--knif4j-->
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId>
<version>4.4.0</version>
</dependency>
第二步:新增一个配置类:OpenAPIConfig
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页面
看到这个界面,就代表成功了。