swagger3 关闭配置(快捷方式)

配置参考

springfox:documentation:# 总开关(同时设置auto-startup=false,否则/v3/api-docs等接口仍能继续访问)enabled: falseauto-startup: falseswagger-ui:enabled: false

配置原理

<dependency><groupId>io.springfox</groupId><artifactId>springfox-boot-starter</artifactId>
</dependency>

springfox.boot.starter.autoconfigure.OpenApiAutoConfiguration
springfox.boot.starter.autoconfigure.SpringfoxConfigurationProperties

swagger2 关闭配置

swagger2 关闭主要是根据条件使swagger 配置不再生效,如

方法一:@ConditionalOnProperty

Configuration
@EnableSwagger2
@ConditionalOnProperty(name = "swagger.enable", havingValue = "true")
public class Swagger2 extends WebMvcConfigurationSupport {@Beanpublic Docket createRestApi() {return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select()//为当前包路径.apis(RequestHandlerSelectors.basePackage("com.yq.demo.controller")).paths(PathSelectors.any()).build();}//构建 api文档的详细信息函数,注意这里的注解引用的是哪个private ApiInfo apiInfo() {return new ApiInfoBuilder().title("Spring Boot 测试使用 Swagger2 构建RESTful API").contact(new Contact("java乐园", "https://xxx.com", "test@163.com")).version("1.0").description("User API 描述").build();}@Overrideprotected void addResourceHandlers(ResourceHandlerRegistry registry) {registry.addResourceHandler("/swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/");registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");}
}

application.yml 中配置如下关闭:

swagger:# 只要不是true就不启用enable: false

其他基于Conditional的方式

方法二 @Profile

原理跟第一个差不多,只是判断条件不同(profile判断配置文件,也即的参数)

Configuration
@EnableSwagger2
@Profile("!prod")
public class Swagger2 extends WebMvcConfigurationSupport {@Beanpublic Docket createRestApi() {return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select()//为当前包路径.apis(RequestHandlerSelectors.basePackage("com.yq.demo.controller")).paths(PathSelectors.any()).build();}//构建 api文档的详细信息函数,注意这里的注解引用的是哪个private ApiInfo apiInfo() {return new ApiInfoBuilder().title("Spring Boot 测试使用 Swagger2 构建RESTful API").contact(new Contact("java乐园", "https://xxx.com", "test@163.com")).version("1.0").description("User API 描述").build();}@Overrideprotected void addResourceHandlers(ResourceHandlerRegistry registry) {registry.addResourceHandler("/swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/");registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");}
}

方法三 @Value 配置Docket 失效办法

Configuration
@EnableSwagger2
public class Swagger2 extends WebMvcConfigurationSupport {@Value("{swagger2.enable:false}")private boolean enableSwagger;@Beanpublic Docket createRestApi() {return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).enable(enableSwagger).select()//为当前包路径.apis(RequestHandlerSelectors.basePackage("com.yq.demo.controller")).paths(PathSelectors.any()).build();}//构建 api文档的详细信息函数,注意这里的注解引用的是哪个private ApiInfo apiInfo() {return new ApiInfoBuilder().title("Spring Boot 测试使用 Swagger2 构建RESTful API").contact(new Contact("java乐园", "https://xxx.com", "test@163.com")).version("1.0").description("User API 描述").build();}@Overrideprotected void addResourceHandlers(ResourceHandlerRegistry registry) {registry.addResourceHandler("/swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/");registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");}
}

【swagger关闭】生产环境关闭swagger方法相关推荐

  1. 生产环境屏蔽swagger

    只需要在swagger的配置类上增加@Profile( )注解,指定环境变量,即可屏蔽生产环境上的swagger,如下: 先使用dev环境,访问swagger,结果如下: 再使用test环境,访问sw ...

  2. 生产环境关闭 swagger

    #生产环境需要关闭 swagger 防止接口暴露 1,启动判断写在相应的环境配置文件中,根据条件判断是否启动 swagger : 添加配置项:swagger.is.enable #是否激活 swagg ...

  3. 在生产环境禁用swagger

    禁用方法1:使用注解@Profile({"dev","test"}) 表示在开发或测试环境开启,而在生产关闭.(推荐使用) @Profile({"de ...

  4. Vue生产环境调试的方法

    Python微信订餐小程序课程视频 https://blog.csdn.net/m0_56069948/article/details/122285951 Python实战量化交易理财系统 https ...

  5. [第二篇]如何在ASP.Net Core的生产环境中使用OAuth保护swagger ui

    在我上篇文章如何在ASP.Net Core的生产环境中保护swagger ui中,我们讨论了如何使用基本身份验证来保护 swagger ui. 使用 OAuth 2.0 和 OpenIdConnect ...

  6. 生产环境如何关闭报错功能_知识分享---如何区分前端与后端bug

    1.如何区分前端和后端 通俗讲,用户看到的部分都叫前端. 而用户看不到的部分可以统称为后端. 2.前端和后端的呈现形式 前端的呈现形式有web端.移动端(ios.安卓).小程序等. 后端系统一般只有一 ...

  7. vue 关闭log_vue或react项目生产环境去掉console.log的操作

    在开发环境写了很多console.log/info/debug,在生产环境需要去掉这些console. 如果手动删除未免也太累了,再说以后想再开发还得重新写console. 事实上webpack提供了 ...

  8. 使用pm2启动node文件_使用pm2部署node生产环境的方法步骤

    一.PM2是什么 是可以用于生产环境的Nodejs的进程管理工具,并且它内置一个负载均衡.它不仅可以保证服务不会中断一直在线,并且提供0秒reload功能,还有其他一系列进程管理.监控功能.并且使用起 ...

  9. Android10+无法获取IMEI、IOS10+关闭广告跟踪IDFA解决方法

    Android10+无法获取IMEI.IOS10+关闭广告跟踪IDFA解决方法 加粗样式 背景:为保护用户隐私,在Android X后IMEI无法获取:同样,IOS10+系统后支持用户关闭广告跟踪,导 ...

最新文章

  1. 如何优化MySQL千万级大表
  2. 请求对象Request
  3. JavaScript 使用对象及ES6中的class
  4. echarts java动态数据_[ASP.net教程]ECharts Java 动态加载数据,echartsjava
  5. Spring 与 Hibernate 集成 Transactional设置为只读
  6. 求数组的子数组之和的最大值III(循环数组)
  7. 大学生创业如何选择一个不错的创业新项目?
  8. 传感器实验——光敏电阻传感器
  9. list.php tid= field,DEDE5.7手机移动版实现与PC电脑版静态地址url一致教程(含伪静态规则) | 八戒哥技术博客...
  10. 英雄联盟php文件,英雄联盟-QQ网吧游戏特权-QQ网吧
  11. GoldenDict 上的那些精美版权词典(附下载地址)(英语、俄语、梵语、印地语)
  12. 德州大学达拉斯分校计算机科学,德克萨斯大学达拉斯分校排名
  13. Android 版本适配:9
  14. 博客园增加Live2D看板娘教程,超级简单,一看就懂
  15. 寒假还在纠结考研还是就业,听听研究生毕业的上班狗怎么说?
  16. 一张图解读小米公司的商业模式
  17. 2009年三季度上市公司报表1
  18. 电脑总是弹出乱七八糟的内容怎么办
  19. 双目立体视觉空间坐标精度分析
  20. 世界地图自定义绘制结合echarts,实现点击介绍项目

热门文章

  1. local-path-provisioner 源码解析
  2. iPad上调用相机问题
  3. 如何用公式编辑器打倒问号?
  4. 我只是知识的搬运工(持续更新)
  5. 【C++】vector数组排序
  6. excel如何冻结前几行
  7. js简易烟花demo
  8. 如何做GIF动画?一分钟把视频做成gif动图
  9. 从0到1打造高成功率的食品品牌系列(一)食品企业从0到1创建品牌的20大误区
  10. HTML获取当前时间年月日时分秒等相关信息