springBoot结合swagger,配置头部信息

需求
需要在http请求中的头部,添加一个变量CurTime

实现

在上篇的配置类上做一下修改

public class SwaggerConfig {



    @Bean
    public Docket testApi() {
        /**
         *  
         * 加上以下这一段
         *  期间,参数名自己替换掉
         */
     ParameterBuilder ticketPar = new ParameterBuilder();  
         List pars = new ArrayList();    
         ticketPar.name("CurTime").description("时间戳")  
         .modelRef(new ModelRef("string")).parameterType("header")   
         .required(false).build();  
         pars.add(ticketPar.build());     


return new Docket(DocumentationType.SWAGGER_2)
                .groupName("name")
                .genericModelSubstitutes(DeferredResult.class)
                .useDefaultResponseMessages(false)
                .forCodeGeneration(true)
                .pathMapping("/")// base,最终调用接口后会和paths拼接在一起
                .select()//函数返回一个 ApiSelectorBuilder 实例用来控制哪些接口暴露给Swagger2来展现
                .apis(RequestHandlerSelectors.basePackage("connet.controller"))//对api进行监控范围  
                .paths(PathSelectors.any())//过滤的接口   对所有路径进行监控
                .build()
                .apiInfo(testApiInfo())

                  /**
                 *  
                 *  将上面配置的参数添加到配置中
                 *  
                 */
                .globalOperationParameters(pars) ; 
    }
    private ApiInfo testApiInfo() {
        ApiInfo apiInfo = new ApiInfo(
                "大标题",//大标题
                "描述",//描述
                "版本",//版本
                "条款地址",//条款地址
                "联系",//联系
                "链接显示文字",//链接显示文字
                "网站链接/"//网站链接
        );
        return apiInfo;
    }

}

效果

springBoot结合swagger,配置头部信息_第1张图片

然后就可以在后台拿到头部参数了

String CurTime = request.getHeader("CurTime");

你可能感兴趣的:(java)