SpringBoot 在生产快速禁用Swagger2 深碍√TFBOYSˉ_ 2024-04-19 09:25 11阅读 0赞 > 你还在生产节点开放Swagger吗,赶紧停止这种暴露接口的行为吧。 # 学习目标 # 快速学会使用注解关闭Swagger2,避免接口重复暴露。 # 快速查阅 # 源码下载:[SpringBoot Swagger2 Auto Close ][SpringBoot Swagger2 Auto Close] 专题阅读:[《SpringBoot 布道系列》][SpringBoot] # 使用教程 # 禁用方法1:使用注解`@Profile({"dev","test"})` 表示在开发或测试环境开启,而在生产关闭。(推荐使用) 禁用方法2:使用注解`@ConditionalOnProperty(name = "swagger.enable", havingValue = "true")` 然后在测试配置或者开发配置中 添加 swagger.enable = true 即可开启,生产环境不填则默认关闭Swagger. 例如: /** * Swagger2 接口配置 */ @Configuration @EnableSwagger2 //@Profile({"dev","test"}) @ConditionalOnProperty(name = "swagger.enable", havingValue = "true") public class Swagger2Config { /** * 添加摘要信息(Docket) */ @Bean public Docket controllerApi() { return new Docket(DocumentationType.SWAGGER_2) .apiInfo(new ApiInfoBuilder() .title("标题:某公司_用户信息管理系统_接口文档") .description("描述:用于管理集团旗下公司的人员信息,具体包括XXX,XXX模块...") .contact(new Contact("Socks", null, null)) .version("版本号:1.0") .build()) .select() .apis(RequestHandlerSelectors.basePackage("com.hehe.controller")) .paths(PathSelectors.any()) .build(); } } 访问效果: 开发环境:[http://localhost:8081/swagger-ui.html][http_localhost_8081_swagger-ui.html] 正常访问Swagger。 生产环境:[http://localhost:8082/swagger-ui.html][http_localhost_8082_swagger-ui.html] 已经禁用Swagger。 转载于:https://my.oschina.net/abcijkxyz/blog/3057141 [SpringBoot Swagger2 Auto Close]: https://github.com/yizhiwazi/springboot-socks/tree/master/springboot-swagger2-auto-close [SpringBoot]: https://www.jianshu.com/p/964370d9374e [http_localhost_8081_swagger-ui.html]: http://localhost:8081/swagger-ui.html [http_localhost_8082_swagger-ui.html]: http://localhost:8082/swagger-ui.html
还没有评论,来说两句吧...