swagger如何在生产环境不显示呢?
实际的项目环境会分 test
、dev
、pro
等环境,但是在实际的生产环境是不需要显示这个swagger的,或者说是启用swagger。
参照网上的教程,大多是在配置文件里边直接定义一个属性,它的值为true/false来在配置文件中使用。
个人认为:配置文件应该越简洁越好,显示主要的配置信息、可读性高就好;把一切都交给spring自己来管理
方法如下
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket createRestApi(Environment environment) {
// 判断是否是实际的生产环境 enable是否启动swagger
Profiles profiles = Profiles.of("dev", "text");
boolean flag = environment.acceptsProfiles(profiles);
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.enable(flag)
.groupName("shigen");
}
}