package com.matrix.config; 
 | 
  
 | 
import io.swagger.annotations.Api; 
 | 
import org.springframework.beans.factory.annotation.Value; 
 | 
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; 
 | 
import org.springframework.boot.context.properties.ConfigurationProperties; 
 | 
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<Parameter> parameters = new ArrayList<Parameter>(); 
 | 
        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.any()).build().globalOperationParameters(parameters); 
 | 
//                .ignoredParameterTypes(MemberEntity.class); 
 | 
    } 
 | 
  
 | 
    private ApiInfo apiInfo(){ 
 | 
        return new ApiInfoBuilder() 
 | 
                .title("Hive") 
 | 
                .description("This is a restful api document of Hive.") 
 | 
                .version("1.0") 
 | 
                .build(); 
 | 
    } 
 | 
} 
 |