swagger集成knife4j依赖
时间: 2025-03-18 17:31:13 浏览: 33
### 集成 Swagger 和 Knife4j 的方法
在 Spring Boot 项目中集成 Swagger 并使用 Knife4j 增强功能,可以通过以下方式实现:
#### Maven 依赖配置
为了使 Spring Boot 项目支持 Swagger 功能并利用 Knife4j 提供的增强特性,需在项目的 `pom.xml` 文件中引入 Knife4j 的相关依赖。由于 Knife4j 已经内置了 Swagger 所需的核心依赖,因此无需额外引入其他 Swagger 相关组件。
以下是具体的 Maven 依赖配置:
```xml
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-spring-boot-starter</artifactId>
<version>3.0.3</version>
</dependency>
```
此部分配置用于引入 Knife4j 及其内部封装的 Swagger 支持模块[^2]。
---
#### 启用 Swagger 和 Knife4j
完成依赖引入后,在 Spring Boot 应用程序的主要启动类上添加注解以启用 Swagger 功能。通常情况下,仅需通过如下代码即可激活该功能:
```java
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
```
如果需要进一步自定义 Swagger 接口文档的行为,则可以创建一个 Bean 定义来设置相关的 Docket 对象属性。例如:
```java
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class SwaggerConfig {
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("com.example.controller"))
.paths(PathSelectors.any())
.build();
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("API 文档")
.description("基于 Knife4j 增强的 Swagger API 文档展示")
.termsOfServiceUrl("")
.contact(new springfox.documentation.service.Contact("作者", "", ""))
.license("")
.licenseUrl("")
.version("1.0")
.build();
}
}
```
上述代码片段展示了如何通过编程的方式调整生成的 API 文档样式以及范围等内容[^3]。
---
#### 访问接口文档页面
当所有配置完成后,运行应用程序,默认情况下可通过浏览器访问地址 `/doc.html` 查看由 Knife4j 渲染后的交互式 API 文档界面。相比原始版本的 Swagger UI 页面,Knife4j 提供更加美观且实用的功能选项[^4]。
---
### 注意事项
- 如果项目中有多个环境部署需求(如开发、测试、生产),建议针对不同场景分别控制是否开启 Swagger 功能。这可以通过条件判断或者 Profile 设置达成目标。
- 切记不要暴露敏感数据到公开可访问区域以免造成安全隐患。
阅读全文
相关推荐


















