SpringBoot 在生產(chǎn)快速禁用Swagger2
0.6 2018.07.21 19:31* 字數(shù) 219 閱讀 4858評論 11喜歡 52
你還在生產(chǎn)節(jié)點開放Swagger嗎邪媳,趕緊停止這種暴露接口的行為吧。
學習目標
快速學會使用注解關閉Swagger2,避免接口重復暴露。
快速查閱
源碼下載:SpringBoot Swagger2 Auto Close
專題閱讀:《SpringBoot 布道系列》
使用教程
禁用方法1:使用注解@Profile({"dev","test"})
表示在開發(fā)或測試環(huán)境開啟脸侥,而在生產(chǎn)關閉。(推薦使用)
禁用方法2:使用注解@ConditionalOnProperty(name = "swagger.enable", havingValue = "true")
然后在測試配置或者開發(fā)配置中 添加 swagger.enable = true 即可開啟尔艇,生產(chǎn)環(huán)境不填則默認關閉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("標題:某公司_用戶信息管理系統(tǒng)_接口文檔")
.description("描述:用于管理集團旗下公司的人員信息,具體包括XXX,XXX模塊...")
.contact(new Contact("Socks", null, null))
.version("版本號:1.0")
.build())
.select()
.apis(RequestHandlerSelectors.basePackage("com.hehe.controller"))
.paths(PathSelectors.any())
.build();
}
}
image
訪問效果:
開發(fā)環(huán)境:http://localhost:8081/swagger-ui.html 正常訪問Swagger桨仿。
image
生產(chǎn)環(huán)境:http://localhost:8082/swagger-ui.html 已經(jīng)禁用Swagger。
image