springBoot如何【禁用Swagger】

这篇具有很好参考价值的文章主要介绍了springBoot如何【禁用Swagger】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

需求:

生产环境下,需要关闭swagger配置,避免接口暴露。

方法:

1、使用注解@Value()
2、使用注解@Profile({“dev”,“test”}) 表示在开发或测试环境开启,而在生产关闭。
3、使用注解@ConditionalOnProperty(name = “swagger.enable”, havingValue = “true”) 然后在测试配置或者开发配置中 添加 swagger.enable = true 即可开启,生产环境不填则默认关闭Swagger。

方法一:使用注解@Value()

在Swagger2Config类里添加;
并需要在配置文件里添加一个swagger.enable属性,根据不同的application-xx.yml进行动态插入true或false即可。

@Configuration
@EnableSwagger2
public class Swagger2Config {
    @Value("${swagger.enable}")
    private Boolean enable;
    @Bean
    public Docket swaggerPersonApi10() {
        return new Docket(DocumentationType.SWAGGER_2)
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.unidata.cloud.logservice.api.controller"))
                .paths(PathSelectors.any())
                .enable(enable)    //配置在该处生效
                .build()
                .apiInfo(apiInfo());
    }
    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .version("1.0")
                .title("xx项目:xx平台 Swagger2 文档 API")
                .contact(new Contact("  xx团队", "https://www.xx.com/", "kangjia@xx.com"))
                .description("logservice platform API v1.0")
                .build();
    }
}

方法二:使用注解@Profile({“dev”,“test”}) 表示在开发或测试环境开启,而在生产关闭。

@Configuration
@EnableSwagger2
@Profile({"local", "dev"})
public class Swagger2Config {
    @Bean
    public Docket swaggerPersonApi10() {
        return new Docket(DocumentationType.SWAGGER_2)
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.unidata.cloud.logservice.api.controller"))
                .paths(PathSelectors.any())
                .build()
                .apiInfo(apiInfo());
    }
    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .version("1.0")
                .title("xx项目:xx平台 Swagger2 文档 API")
                .contact(new Contact("  xx团队", "https://www.xx.com/", "kangjia@xx.com"))
                .description("logservice platform API v1.0")
                .build();
    }
}

方法三:使用注解@ConditionalOnProperty(name = “swagger.enable”, havingValue = “true”) 然后在测试配置或者开发配置中 添加 swagger.enable = true 即可开启,生产环境不填则默认关闭Swagger。

1、使用注解 @ConditionalOnProperty(name = “swagger.enable”, havingValue = “true”)

@Configuration
@EnableSwagger2
//@ConditionalOnProperty(name ="enabled" ,prefix = "swagger",havingValue = "true",matchIfMissing = true   //matchIfMissing=true :为空则设为true,不合理
@ConditionalOnProperty(name = “swagger.enable”, havingValue =true)
public class Swagger2Config {
    @Bean
    public Docket swaggerPersonApi10() {
        return new Docket(DocumentationType.SWAGGER_2)
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.unidata.cloud.logservice.api.controller"))
                .paths(PathSelectors.any())
                .enable(enable)
                .build()
                .apiInfo(apiInfo());
    }
    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .version("1.0")
                .title("xx项目:xx平台 Swagger2 文档 API")
                .contact(new Contact("  xx团队", "https://www.xxx.com/", "kangjia@xxx.com"))
                .description("logservice platform API v1.0")
                .build();
    }
}

2、然后在测试配置或者开发配置中 添加 swagger.enable = true 即可开启,生产环境不写该配置则默认关闭Swagger。

#Swagger lock
swagger:    
    enabled: true

参考链接:https://www.dandelioncloud.cn/article/details/1593427183718813697文章来源地址https://www.toymoban.com/news/detail-451698.html

到了这里,关于springBoot如何【禁用Swagger】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Spring Boot 禁用 Swagger 的三种方式

    禁用方法1: ====== 使用注解 @Value() 推荐使用 package com.dc.config; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; impo

    2024年04月22日
    浏览(46)
  • 如何诊断处理生产环境服务器变慢

    Java基础合集 数据结构与算法合集 设计模式合集 多线程合集 分布式合集 ES合集 其他系列文章导航 文章目录 前言 一、CPU利用率 二、磁盘I/O效率 三、内存瓶颈 四、总结 在当今的高科技环境下,生产环境服务器的性能问题可能是一个复杂且棘手的问题。当服务器变慢时,可能

    2024年02月04日
    浏览(40)
  • 5分钟教会你如何在生产环境debug代码

    有时出现的线上bug在测试环境死活都不能复现,靠review代码猜测bug出现的原因,然后盲改代码直接在线上测试明显不靠谱。这时我们就需要在生产环境中debug代码,快速找到bug的原因,然后将锅丢出去。 生产环境的代码一般都是关闭source map和经过混淆的,那么如何进行debug代

    2024年01月19日
    浏览(44)
  • 音频特效SDK,满足内容生产的音频处理需求

    美摄科技,作为音频处理技术的佼佼者,推出的音频特效SDK,旨在满足企业内容生产中的音频处理需求。这款SDK内置多种常见音频处理功能,如音频变声、均衡器、淡入淡出、音频变调等,帮助企业轻松应对各种音频处理挑战。 一、核心功能与优势 1、音频变声: 通过调整音

    2024年01月25日
    浏览(44)
  • 企业级SQL开发:如何审核发布到生产环境的SQL性能

    自从上世纪 70 年代数据库开始普及以来,DBA 们就不停地遭遇各种各样的数据库管理难题,其中最为显著的,可能就是日常的开发任务中,研发人员们对于核心库进行变更带来的一系列风险。由于针对数据库的数据变更是一项非常常见的任务,几乎所有开发者都会涉及对核心

    2024年02月03日
    浏览(48)
  • 如何判断 vite 的运行环境是开发模式还是生产模式 production? development?

    vite 有两种获取当前运行环境模式的方法: 官方说明: 完整说明地址: https://cn.vitejs.dev/guide/env-and-mode.html#node-env-and-modes 比如我在开发模式和生产模式的请求地址不一样,我是这么用的:

    2024年01月22日
    浏览(56)
  • 高效协作处理缓存清理需求:生产者-消费者模式助力多模块缓存管理

    在现代应用系统中,缓存是提高性能和减少数据库负载的重要手段之一。然而,缓存的数据在某些情况下可能会过期或者变得无效,因此需要及时进行清理。在复杂的应用系统中,可能有多个系统、多个模块产生缓存清理需求,而这些系统、模块之间的清理任务需要高效的协

    2024年02月15日
    浏览(44)
  • web前端开发项目走proxy代理后端接口,构建发布到生产等环境后,如何修改api接口

    在开发环境,因为本地站点和接口站点不是同一个域名,就产生了跨域问题,但是不可能让后端开发跨域端口或使用 jsonp ,所以,一般是让前端通过在 webpack.config.js 中配置 proxy 来走接口代理。 代码如下: 这样,就将本地域名代理到接口了。 构建成 dist目录 后,就不能修改

    2024年02月15日
    浏览(45)
  • webpack与vue-cli合并配置,打包生产环境代码时如何删除所有的console.log、代码注释和debugger

    本文基于vue-cli 5.0.0,webpack 5.0,TerserWebpackPlugin 最近公司项目开发上线后,发现控制台有很多当时测试时打印的信息。但是如果手动删除然后打包的话工作量太大,而且不利于以后的维护和debugger。所有必须通过webpack打包时自动帮我们删除console和注释。 第一步上网找到webpack关于

    2024年02月04日
    浏览(59)
  • SpringBoot项目配置Swagger

    根据在代码中使用自定义的注解来生成接口文档,这样做的好处是 在开发接口时可以通过swagger 将接口文档定义好提供给前端查询具体参数信息,同时也方便以后的维护。 当前项目配置好以后的Swagger原型: 2.4.1、配置跨域 2.4.2、Swagger自定义配置 2.4.3、Swagger API文档相关配置

    2023年04月20日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包