SpringBoot禁用Swagger的方式有哪些
发表于:2025-11-11 作者:千家信息网编辑
千家信息网最后更新 2025年11月11日,这篇文章主要介绍"SpringBoot禁用Swagger的方式有哪些",在日常操作中,相信很多人在SpringBoot禁用Swagger的方式有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的
千家信息网最后更新 2025年11月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安全错误
数据库的锁怎样保障安全
数据库原理实验思考建议
国产关系型数据库
服务器单核和双核
淄川设备软件开发报价
辽宁通信管理局官网络安全处
php 循环查询数据库
网络安全证书被删除
生活中哪用到数据库技术
软件开发公司注册金额认缴吗
崇明区网络技术开发优化价格
从0开始搭建家用服务器
放心的财务软件开发商
小朋友网络安全素材
账套数据库错误
有关网络安全的海报
服务器查询不到显卡信息
大学生创业管理系统数据库
dh数据库百科
怀远软件开发文档在线咨询
京东美妆品类软件开发文档
计算机网络前端和软件开发的区别
网络安全检查通报好的方面有什么
win8 dhcp服务器
画电路板和软件开发工资
无锡电商软件开发条件
电子商务数据库搭建合同
打印服务器登录密码
智能汽车网络安全工作
有什么网络安全知识小问题
代理服务器服务端