package com.dsh.config; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import springfox.documentation.builders.ApiInfoBuilder; import springfox.documentation.builders.ParameterBuilder; import springfox.documentation.builders.PathSelectors; import springfox.documentation.builders.RequestHandlerSelectors; import springfox.documentation.schema.ModelRef; import springfox.documentation.service.ApiInfo; import springfox.documentation.service.Parameter; import springfox.documentation.spi.DocumentationType; import springfox.documentation.spring.web.plugins.Docket; import springfox.documentation.swagger2.annotations.EnableSwagger2; import java.util.ArrayList; import java.util.List; /** * swagger配置类 * * @author fengshuonan * @date 2017年6月1日19:42:59 */ @Configuration @EnableSwagger2 @ConditionalOnProperty(prefix = "guns", name = "swagger-open", havingValue = "true") public class SwaggerConfig{ @Bean public Docket systemApi() { List parameters = new ArrayList<>(); // 添加header头 ParameterBuilder type = new ParameterBuilder(); type.name("Authorization").description("登录token").modelRef(new ModelRef("string")) .parameterType("header").required(true).build(); parameters.add(type.build()); return new Docket(DocumentationType.SWAGGER_2).select().apis(RequestHandlerSelectors.basePackage("com.stylefeng.guns.rest.controller.api")) .paths(PathSelectors.any()).build().groupName("登录后API调用").globalOperationParameters(parameters).apiInfo(apiInfo("登录后API调用", "文档中可以查询及测试接口调用参数和结果", "1.0.0版本")); } @Bean public Docket commonApi() { return new Docket(DocumentationType.SWAGGER_2).select().apis(RequestHandlerSelectors.basePackage("com.stylefeng.guns.rest.controller.common")) .paths(PathSelectors.any()).build().groupName("公共Aip接口") .apiInfo(apiInfo("公共Aip接口", "文档中可以查询及测试接口调用参数和结果", "1.0.0版本")); } private ApiInfo apiInfo(String name, String description, String version) { ApiInfo apiInfo = new ApiInfoBuilder().title(name).description(description).version(version).build(); return apiInfo; } }