package com.matrix.config; import io.swagger.annotations.Api; import org.springframework.beans.factory.annotation.Value; 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; /** * @Author wzy * @Date 2020/5/11 * @email wangdoubleone@gmail.com * @Version V1.0 **/ @Configuration @EnableSwagger2 public class SwaggerConfig { @Value("${swagger.enable}") private boolean swaggerEnable; @Bean public Docket createRestApi(){ // 添加请求参数,我们这里把token作为请求头部参数传入后端 ParameterBuilder parameterBuilder = new ParameterBuilder(); List parameters = new ArrayList(); parameterBuilder.name("Authorization").description("令牌").modelRef(new ModelRef("string")).parameterType("header") .required(false).build(); parameters.add(parameterBuilder.build()); return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).enable(swaggerEnable).select().apis(RequestHandlerSelectors.withClassAnnotation(Api.class)) .paths(PathSelectors.ant("/api/**")).build().globalOperationParameters(parameters).groupName("HIVE"); // .ignoredParameterTypes(MemberEntity.class); } private ApiInfo apiInfo(){ return new ApiInfoBuilder() .title("Hive") .description("This is a restful api document of Hive.") .version("1.0") .build(); } @Bean public Docket wxRestApi(){ // 添加请求参数,我们这里把token作为请求头部参数传入后端 ParameterBuilder parameterBuilder = new ParameterBuilder(); List parameters = new ArrayList(); parameterBuilder.name("token").description("令牌").modelRef(new ModelRef("string")).parameterType("header") .required(true).build(); parameters.add(parameterBuilder.build()); ParameterBuilder parameterBuilder2 = new ParameterBuilder(); parameterBuilder2.name("companyCode").description("公司编码tangqiaqia.jyymatrix.cc").modelRef(new ModelRef("string")).parameterType("header") .required(true).build(); parameters.add(parameterBuilder2.build()); return new Docket(DocumentationType.SWAGGER_2).apiInfo(wxApiInfo()).enable(swaggerEnable).select().apis(RequestHandlerSelectors.withClassAnnotation(Api.class)) .paths(PathSelectors.ant("/wxapi/**")).build().globalOperationParameters(parameters).groupName("小程序接口"); // .ignoredParameterTypes(MemberEntity.class); } private ApiInfo wxApiInfo(){ return new ApiInfoBuilder() .title("Hive Wx") .description("This is a restful api document of Hive Wx.") .version("1.0") .build(); } }