标签:rip ram 配置 ack config path 环境 @Value auth
原文:https://blog.csdn.net/weixin_37264997/article/details/82762050
@Profile
使用注解@Profile({“dev”,“test”})
表示在开发或测试环境开启,而在生产关闭。(推荐使用)
package com.unidata.cloud.logservice.infra.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Profile;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
/**
* @author kangjia@xx.com
* @date 2019/10/14 9:27
*/
@Configuration
@EnableSwagger2
@Profile({"local", "dev"})
public class Swagger2Config {
@Bean
public 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/", "kangjia@xx.com"))
.description("logservice platform API v1.0")
.build();
}
}
在Swagger2Config
类里添加
package com.unidata.cloud.logservice.infra.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Profile;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
/**
* @author kangjia@xx.com
* @date 2019/10/14 9:27
*/
@Configuration
@EnableSwagger2
public class Swagger2Config {
@Value("${swagger.enable}")
private Boolean enable;
@Bean
public 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/", "kangjia@xx.com"))
.description("logservice platform API v1.0")
.build();
}
}
在配置文件里添加一个swagger.enable
属性,根据不同的application-xx.yml
进行动态插入true
或false
即可。
@ConditionalOnProperty
使用注解@ConditionalOnProperty(name = “swagger.enable”, havingValue = “true”)
package com.unidata.cloud.logservice.infra.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Profile;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
/**
* @author kangjia@xx.com
* @date 2019/10/14 9:27
*/
@Configuration
@EnableSwagger2
@ConditionalOnProperty(name ="enabled" ,prefix = "swagger",havingValue = "true",matchIfMissing = true)
public class Swagger2Config {
@Bean
public 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/", "kangjia@xxx.com"))
.description("logservice platform API v1.0")
.build();
}
}
然后在测试配置或者开发配置中 添加 swagger.enable = true
即可开启,生产环境不填则默认关闭Swagger。
#Swagger lock
swagger:
enabled: true
标签:rip ram 配置 ack config path 环境 @Value auth
原文地址:https://www.cnblogs.com/kjgym/p/11838299.html