package com.yc.config;
|
|
import io.swagger.annotations.ApiOperation;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.PropertySource;
|
import org.springframework.core.env.Environment;
|
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
|
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;
|
|
@Configuration
|
@EnableSwagger2
|
@EnableWebMvc
|
@PropertySource(value = {"classpath:attachment.config.properties"},ignoreResourceNotFound = true)
|
public class Swagger2Config {
|
/**
|
* 根据配置读取是否开启swagger文档,针对测试与生产环境采用不同的配置
|
*/
|
@Autowired
|
private Environment env;
|
@Bean
|
public Docket createAPPV2Docket() {
|
return new Docket(DocumentationType.SWAGGER_2)
|
.apiInfo(apiInfo())
|
.enable(Boolean.parseBoolean(env.getProperty("swagger.enable")))
|
.groupName("APPV2模块")
|
.select()
|
.apis(RequestHandlerSelectors.basePackage("com.yc.app.v2"))
|
.apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))//只显示添加@ApiOperation注解的接口
|
|
.paths(PathSelectors.any())
|
.build();
|
}
|
@Bean
|
public Docket createDemoDocket() {
|
return new Docket(DocumentationType.SWAGGER_2)
|
.apiInfo(apiInfo())
|
.enable(Boolean.parseBoolean(env.getProperty("swagger.enable")))
|
.groupName("演示模块")
|
.select()
|
.apis(RequestHandlerSelectors.basePackage("com.yc.app.demo"))
|
.apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
|
.paths(PathSelectors.any())
|
.build();
|
}
|
private ApiInfo apiInfo() {
|
Contact contact = new Contact("研发部", "", "");
|
return new ApiInfoBuilder()
|
.title("巴士软件API文档")
|
// .description("")
|
.contact(contact)
|
.version("1.0.0")
|
.build();
|
}
|
}
|