首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Swagger3.0.0:没有SwaggerConfig和@Profile,无法在生产中禁用

Swagger3.0.0:没有SwaggerConfig和@Profile,无法在生产中禁用
EN

Stack Overflow用户
提问于 2021-05-07 17:10:23
回答 1查看 3K关注 0票数 4

我正在从2.x升级到SpringFox Swagger 3.0.0,它引入了SpringFox springfox-boot-starter依赖项,它消除了对基于2.x的SwaggerConfig的需求。

代码语言:javascript
复制
/**
 * NO LONGER NEEDED
 */
@Configuration
@EnableSwagger2
@Profile({"local", "dev", "beta"}) // <- HOW TO DISABLE IN PROD INSTEAD OF THIS
public class SwaggerConfig {
    @Bean
    public Docket api() {
        return new Docket(DocumentationType.SWAGGER_2)
                .select()
                .apis(RequestHandlerSelectors.any())
                .paths(PathSelectors.any())
                .build();
    }
}

现在我不再需要这个@Configuration,它允许我在@Profile中指定我的环境配置文件,从而在生产中禁用Swagger,如何在SpringFox Swagger-UI 3.x中禁用生产中的Swagger?

注意:对于一些人来说,有一些基于Security的接触讨论过的这里可能是一个选项,但由于两个原因,这个场景不是一个选项:

  • 我的应用程序不使用Security,并且不可能包含spring-boot-security-starter依赖项
  • 它需要白化所有其他端点才能让它们再次工作,这是不可接受的。
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-05-07 18:02:42

答案并不容易找到,而且SpringFox的迁移指南或文档这里 (应该在哪里)中也找不到答案。

SwaggerUI3.0.0的正确且迄今为止最好的答案是这里

只需将springfox.documentation.enabled=[true|false]添加到目标环境的application.properties或application.yml。

顺便提一下,最好能看到SpringFox文档中列出的所有可用SpringFox属性的列表。

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67439123

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档