我已阅读以下主题: 使用 Spring MVC 禁用 Swagger
我写道:
@Bean
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.basePackage("com.project.name.controller"))
.paths(PathSelectors.ant("/api/**"))
.build()
.apiInfo(apiInfo())
.enable(false);
}
但如果我尝试访问 swagger ui: localhost:8080/swagger-ui.html
看起来不准确。我可以完全禁用此 URL 吗?例如 404 或类似的东西。
原文由 gstackoverflow 发布,翻译遵循 CC BY-SA 4.0 许可协议
我的答案与之前提供的答案类似,但略有不同。我通常会创建一个名为
swagger
的单独弹簧配置文件。当我想启用 Swagger 时,我会在启动我的应用程序时传递以下 VM 标志-Dspring.profiles.active=swagger
。这是我的 Swagger 配置示例,下次当您尝试访问
swagger-ui.html
没有swagger
配置文件时,您将看到一个空的 Swagger 屏幕,但不是 404。如果你根本不想加载静态的 Swagger UI 页面,你可以编写一个简单的控制器,如下所示,
现在,如果您尝试在没有
swagger
配置文件的情况下访问swagger-ui.html
,您将获得 404。