【swagger关闭】生产环境关闭swagger方法
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方法相关推荐
- 生产环境屏蔽swagger
只需要在swagger的配置类上增加@Profile( )注解,指定环境变量,即可屏蔽生产环境上的swagger,如下: 先使用dev环境,访问swagger,结果如下: 再使用test环境,访问sw ...
- 生产环境关闭 swagger
#生产环境需要关闭 swagger 防止接口暴露 1,启动判断写在相应的环境配置文件中,根据条件判断是否启动 swagger : 添加配置项:swagger.is.enable #是否激活 swagg ...
- 在生产环境禁用swagger
禁用方法1:使用注解@Profile({"dev","test"}) 表示在开发或测试环境开启,而在生产关闭.(推荐使用) @Profile({"de ...
- Vue生产环境调试的方法
Python微信订餐小程序课程视频 https://blog.csdn.net/m0_56069948/article/details/122285951 Python实战量化交易理财系统 https ...
- [第二篇]如何在ASP.Net Core的生产环境中使用OAuth保护swagger ui
在我上篇文章如何在ASP.Net Core的生产环境中保护swagger ui中,我们讨论了如何使用基本身份验证来保护 swagger ui. 使用 OAuth 2.0 和 OpenIdConnect ...
- 生产环境如何关闭报错功能_知识分享---如何区分前端与后端bug
1.如何区分前端和后端 通俗讲,用户看到的部分都叫前端. 而用户看不到的部分可以统称为后端. 2.前端和后端的呈现形式 前端的呈现形式有web端.移动端(ios.安卓).小程序等. 后端系统一般只有一 ...
- vue 关闭log_vue或react项目生产环境去掉console.log的操作
在开发环境写了很多console.log/info/debug,在生产环境需要去掉这些console. 如果手动删除未免也太累了,再说以后想再开发还得重新写console. 事实上webpack提供了 ...
- 使用pm2启动node文件_使用pm2部署node生产环境的方法步骤
一.PM2是什么 是可以用于生产环境的Nodejs的进程管理工具,并且它内置一个负载均衡.它不仅可以保证服务不会中断一直在线,并且提供0秒reload功能,还有其他一系列进程管理.监控功能.并且使用起 ...
- Android10+无法获取IMEI、IOS10+关闭广告跟踪IDFA解决方法
Android10+无法获取IMEI.IOS10+关闭广告跟踪IDFA解决方法 加粗样式 背景:为保护用户隐私,在Android X后IMEI无法获取:同样,IOS10+系统后支持用户关闭广告跟踪,导 ...
最新文章
- 如何优化MySQL千万级大表
- 请求对象Request
- JavaScript 使用对象及ES6中的class
- echarts java动态数据_[ASP.net教程]ECharts Java 动态加载数据,echartsjava
- Spring 与 Hibernate 集成 Transactional设置为只读
- 求数组的子数组之和的最大值III(循环数组)
- 大学生创业如何选择一个不错的创业新项目?
- 传感器实验——光敏电阻传感器
- list.php tid= field,DEDE5.7手机移动版实现与PC电脑版静态地址url一致教程(含伪静态规则) | 八戒哥技术博客...
- 英雄联盟php文件,英雄联盟-QQ网吧游戏特权-QQ网吧
- GoldenDict 上的那些精美版权词典(附下载地址)(英语、俄语、梵语、印地语)
- 德州大学达拉斯分校计算机科学,德克萨斯大学达拉斯分校排名
- Android 版本适配:9
- 博客园增加Live2D看板娘教程,超级简单,一看就懂
- 寒假还在纠结考研还是就业,听听研究生毕业的上班狗怎么说?
- 一张图解读小米公司的商业模式
- 2009年三季度上市公司报表1
- 电脑总是弹出乱七八糟的内容怎么办
- 双目立体视觉空间坐标精度分析
- 世界地图自定义绘制结合echarts,实现点击介绍项目