spring 特定环境下不启用配置
今天老曹找我说他们公司因为在正式服启用了Swagger,导致接口暴露,被对手公司爬了数据。
我说这有何难,我正好有两个方法可以帮到你!
一 配置文件自定义启用
我们项目一般会分环境切分为三个配置文件:
application-dev.properties、application-test.properties 和 application-prod.properties
三个配置文件加入配置:swagger.enable = true,正式环境改为 false
然后在配置类上加条件语句:
@Configuration
@ConditionalOnProperty(name = “swagger.enable”, havingValue = “true”)
public class BaseSwaggerConfig {}
二 使用环境注解
!是取反,下面配置意思是,除了 prod 环境,其他环境都打开配置
@Profile("!prod")
@Configuration
public class SwaggerConfig {}
欢迎关注我的公众号:喝酒写代码。这里的小伙伴等你好久啦!