knife4j-spring-boot-starter关掉接口文档
时间: 2025-01-04 09:32:54 浏览: 34
### 配置 `knife4j-spring-boot-starter` 以禁用或隐藏 API 文档页面
为了确保 Knife4J 不会暴露API文档界面,可以通过调整应用属性文件中的特定参数来实现这一目标。具体来说,在项目的 `application.properties` 或者 `application.yml` 文件中设置如下配置项:
对于 `application.properties` 文件:
```properties
knife4j.enable=false
```
此配置使得Knife4J功能整体失效[^2]。
如果希望更细致地控制访问权限而不完全关闭服务,则可以启用基本认证并将其与生产模式相结合:
```properties
server.servlet.context-path=/your-app-context
spring.profiles.active=prod
knife4j.production=true
knife4j.basic.enable=true
knife4j.enable=true
```
上述设定下,即使提供了正确的用户名和密码组合,在生产环境中仍然无法查看到API文档页面;而在开发环境下(即当 `spring.profiles.active` 设置为其他值如dev时),只有在提供有效凭证的情况下才能浏览这些资源。
另外一种方法是在启动类上添加注解来阻止Swagger UI路径被注册:
```java
import springfox.documentation.swagger.web.UiConfiguration;
import org.springframework.context.annotation.Bean;
@Configuration
public class SwaggerConfig {
@Bean
UiConfiguration uiConfig() {
return new UiConfiguration(
null, /* validatorUrl */
"none",/* docExpansion -> none to hide all operations and tags by default */
...
);
}
}
```
通过这种方式也可以间接达到隐藏API文档的效果[^1]。
阅读全文