SpringBoot禁用Swagger的方式有哪些
发表于:2025-02-11 作者:千家信息网编辑
千家信息网最后更新 2025年02月11日,这篇文章主要介绍"SpringBoot禁用Swagger的方式有哪些",在日常操作中,相信很多人在SpringBoot禁用Swagger的方式有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的
千家信息网最后更新 2025年02月11日SpringBoot禁用Swagger的方式有哪些
这篇文章主要介绍"SpringBoot禁用Swagger的方式有哪些",在日常操作中,相信很多人在SpringBoot禁用Swagger的方式有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"SpringBoot禁用Swagger的方式有哪些"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
摘要
在生产环境下,我们需要关闭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;import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;import springfox.documentation.builders.ApiInfoBuilder;import springfox.documentation.builders.PathSelectors;import springfox.documentation.builders.RequestHandlerSelectors;import springfox.documentation.service.ApiInfo;import springfox.documentation.service.Contact;import springfox.documentation.spi.DocumentationType;import springfox.documentation.spring.web.plugins.Docket;import springfox.documentation.swagger2.annotations.EnableSwagger2;/** * @author sunny chen * @version V1.0 * @Package com.dc.config * @date 2018/1/16 17:33 * @Description: 主要用途:开启在线接口文档和添加相关配置 */@Configuration@EnableSwagger2public class Swagger2Config extends WebMvcConfigurerAdapter { @Value("${swagger.enable}") private Boolean enable; @Bean public Docket createRestApi() { return new Docket(DocumentationType.SWAGGER_2) .enable(enable) .apiInfo(apiInfo()) .select() .apis(RequestHandlerSelectors.basePackage("com.dc.controller")) .paths(PathSelectors.any()) //.paths(PathSelectors.none()) .build(); } private ApiInfo apiInfo() { return new ApiInfoBuilder() .title("auth系统数据接口文档") .description("此系统为新架构Api说明文档") .termsOfServiceUrl("") .contact(new Contact("陈永佳 chen867647213@163.com", "", "https://blog.csdn.net/Mrs_chens")) .version("1.0") .build(); } /** * swagger ui资源映射 * @param registry */ @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("swagger-ui.html") .addResourceLocations("classpath:/META-INF/resources/"); registry.addResourceHandler("/webjars/**") .addResourceLocations("classpath:/META-INF/resources/webjars/"); } /** * swagger-ui.html路径映射,浏览器中使用/api-docs访问 * @param registry */ @Override public void addViewControllers(ViewControllerRegistry registry) { registry.addRedirectViewController("/api-docs","/swagger-ui.html"); }}
禁用方法2:
使用注解 @Profile({"dev","test"}) 表示在开发或测试环境开启,而在生产关闭。(推荐使用)
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;import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;import springfox.documentation.builders.ApiInfoBuilder;import springfox.documentation.builders.PathSelectors;import springfox.documentation.builders.RequestHandlerSelectors;import springfox.documentation.service.ApiInfo;import springfox.documentation.service.Contact;import springfox.documentation.spi.DocumentationType;import springfox.documentation.spring.web.plugins.Docket;import springfox.documentation.swagger2.annotations.EnableSwagger2;/** * @author sunny chen * @version V1.0 * @Package com.dc.config * @date 2018/1/16 17:33 * @Description: 主要用途:开启在线接口文档和添加相关配置 */@Configuration@EnableSwagger2@Profile({"dev","test"})public class Swagger2Config extends WebMvcConfigurerAdapter { @Bean public Docket createRestApi() { return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) .select() .apis(RequestHandlerSelectors.basePackage("com.dc.controller")) .paths(PathSelectors.any()) //.paths(PathSelectors.none()) .build(); } private ApiInfo apiInfo() { return new ApiInfoBuilder() .title("auth系统数据接口文档") .description("此系统为新架构Api说明文档") .termsOfServiceUrl("") .contact(new Contact("陈永佳 chen867647213@163.com", "", "https://blog.csdn.net/Mrs_chens")) .version("1.0") .build(); } /** * swagger ui资源映射 * @param registry */ @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("swagger-ui.html") .addResourceLocations("classpath:/META-INF/resources/"); registry.addResourceHandler("/webjars/**") .addResourceLocations("classpath:/META-INF/resources/webjars/"); } /** * swagger-ui.html路径映射,浏览器中使用/api-docs访问 * @param registry */ @Override public void addViewControllers(ViewControllerRegistry registry) { registry.addRedirectViewController("/api-docs","/swagger-ui.html"); }}
禁用方法3:
使用注解 @ConditionalOnProperty(name = "swagger.enable", havingValue = "true") 然后在测试配置或者开发配置中 添加 swagger.enable = true 即可开启,生产环境不填则默认关闭 Swagger.
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;import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;import springfox.documentation.builders.ApiInfoBuilder;import springfox.documentation.builders.PathSelectors;import springfox.documentation.builders.RequestHandlerSelectors;import springfox.documentation.service.ApiInfo;import springfox.documentation.service.Contact;import springfox.documentation.spi.DocumentationType;import springfox.documentation.spring.web.plugins.Docket;import springfox.documentation.swagger2.annotations.EnableSwagger2;/** * @author sunny chen * @version V1.0 * @Package com.dc.config * @date 2018/1/16 17:33 * @Description: 主要用途:开启在线接口文档和添加相关配置 */@Configuration@EnableSwagger2@ConditionalOnProperty(name ="enabled" ,prefix = "swagger",havingValue = "true",matchIfMissing = true)public class Swagger2Config extends WebMvcConfigurerAdapter { @Bean public Docket createRestApi() { return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) .select() .apis(RequestHandlerSelectors.basePackage("com.dc.controller")) .paths(PathSelectors.any()) //.paths(PathSelectors.none()) .build(); } private ApiInfo apiInfo() { return new ApiInfoBuilder() .title("auth系统数据接口文档") .description("此系统为新架构Api说明文档") .termsOfServiceUrl("") .contact(new Contact("陈永佳 chen867647213@163.com", "", "https://blog.csdn.net/Mrs_chens")) .version("1.0") .build(); } /** * swagger ui资源映射 * @param registry */ @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("swagger-ui.html") .addResourceLocations("classpath:/META-INF/resources/"); registry.addResourceHandler("/webjars/**") .addResourceLocations("classpath:/META-INF/resources/webjars/"); } /** * swagger-ui.html路径映射,浏览器中使用/api-docs访问 * @param registry */ @Override public void addViewControllers(ViewControllerRegistry registry) { registry.addRedirectViewController("/api-docs","/swagger-ui.html"); }}
到此,关于"SpringBoot禁用Swagger的方式有哪些"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
文档
接口
系统
配置
方法
方式
学习
数据
架构
注解
浏览器
环境
用途
资源
路径
在线
浏览
生产
更多
帮助
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
学好《网络安全法》
湖南会计软件开发商家
迪吉网络技术
读写上亿的数据库设计
宁夏办公软件开发设计方案
鸿蒙软件开发学习
值得相信的网络安全审计
镇网络安全属于哪个部门
cis数据库文件
北京盛世鑫华网络安全
有没有管理本地文本的数据库
网络数据服务器管理系统
服务器安全狗打补丁
广州智为互联网科技
阿里云服务器费用问题
淘宝上显示服务器出错是什么原因
叨叨记账服务器无响应
数据库云服务收费方式
idc存储服务器市场研究报告
数据库触发器的临时表
网络安全风险上升
服务器光模块通用吗
运筹学与数据库技术
网宿科技是互联网公司吗
网络安全意识与自我防范
方舟手游最好玩的多人联机服务器
pycharm 数据库插件
网络数据服务器管理系统
湖北服务器机柜配件云主机
北京志科软件开发有限公司