滑县住房城乡建设厅门户网站,邯郸专业做网站多少钱,开源手机网站cms,企业网站建设公司司需求#xff1a;
生产环境下#xff0c;需要关闭swagger配置#xff0c;避免接口暴露。
方法#xff1a;
1、使用注解Value() 2、使用注解Profile({“dev”,“test”}) 表示在开发或测试环境开启#xff0c;而在生产关闭。 3、使用注解ConditionalOnProperty(name “s…需求
生产环境下需要关闭swagger配置避免接口暴露。
方法
1、使用注解Value() 2、使用注解Profile({“dev”,“test”}) 表示在开发或测试环境开启而在生产关闭。 3、使用注解ConditionalOnProperty(name “swagger.enable”, havingValue “true”) 然后在测试配置或者开发配置中 添加 swagger.enable true 即可开启生产环境不填则默认关闭Swagger。
方法一使用注解Value()
在Swagger2Config类里添加 并需要在配置文件里添加一个swagger.enable属性根据不同的application-xx.yml进行动态插入true或false即可。
Configuration
EnableSwagger2
public class Swagger2Config {Value(${swagger.enable})private Boolean enable;Beanpublic Docket swaggerPersonApi10() {return new Docket(DocumentationType.SWAGGER_2).select().apis(RequestHandlerSelectors.basePackage(com.unidata.cloud.logservice.api.controller)).paths(PathSelectors.any()).enable(enable) //配置在该处生效.build().apiInfo(apiInfo());}private ApiInfo apiInfo() {return new ApiInfoBuilder().version(1.0).title(xx项目xx平台 Swagger2 文档 API).contact(new Contact( xx团队, https://www.xx.com/, kangjiaxx.com)).description(logservice platform API v1.0).build();}
}方法二使用注解Profile({“dev”,“test”}) 表示在开发或测试环境开启而在生产关闭。
Configuration
EnableSwagger2
Profile({local, dev})
public class Swagger2Config {Beanpublic Docket swaggerPersonApi10() {return new Docket(DocumentationType.SWAGGER_2).select().apis(RequestHandlerSelectors.basePackage(com.unidata.cloud.logservice.api.controller)).paths(PathSelectors.any()).build().apiInfo(apiInfo());}private ApiInfo apiInfo() {return new ApiInfoBuilder().version(1.0).title(xx项目xx平台 Swagger2 文档 API).contact(new Contact( xx团队, https://www.xx.com/, kangjiaxx.com)).description(logservice platform API v1.0).build();}
}方法三使用注解ConditionalOnProperty(name “swagger.enable”, havingValue “true”) 然后在测试配置或者开发配置中 添加 swagger.enable true 即可开启生产环境不填则默认关闭Swagger。
1、使用注解 ConditionalOnProperty(name “swagger.enable”, havingValue “true”)
Configuration
EnableSwagger2
//ConditionalOnProperty(name enabled ,prefix swagger,havingValue true,matchIfMissing true //matchIfMissingtrue :为空则设为true,不合理
ConditionalOnProperty(name “swagger.enable”, havingValue “true”)
public class Swagger2Config {Beanpublic Docket swaggerPersonApi10() {return new Docket(DocumentationType.SWAGGER_2).select().apis(RequestHandlerSelectors.basePackage(com.unidata.cloud.logservice.api.controller)).paths(PathSelectors.any()).enable(enable).build().apiInfo(apiInfo());}private ApiInfo apiInfo() {return new ApiInfoBuilder().version(1.0).title(xx项目xx平台 Swagger2 文档 API).contact(new Contact( xx团队, https://www.xxx.com/, kangjiaxxx.com)).description(logservice platform API v1.0).build();}
}2、然后在测试配置或者开发配置中 添加 swagger.enable true 即可开启生产环境不写该配置则默认关闭Swagger。
#Swagger lock
swagger: enabled: true参考链接https://www.dandelioncloud.cn/article/details/1593427183718813697