Swagger2 全局配置头部信息

  • Post author:
  • Post category:其他



目录


一、 假如入某个接口需从header拿一些数据检验怎么办?


1、 swagger 可全局设置 header 入口,需要修改 SwaggerConfifig 配置类


2、 测试


3、 运行截图


一、

假如入某个接口需从


header


拿一些数据检验怎么办?

1、

swagger 可全局设置


header


入口,需要修改 SwaggerConfifig


配置类

@Configuration
@EnableSwagger2
public class SwaggerConfig {
    @Value("${swagger2.enable}")
    private boolean enable;
    @Bean
    public Docket createRestApi() {
        /**
         * 这是为了我们在用 swagger 测试接口的时候添加头部信息
         */
        List<Parameter> pars = new ArrayList<Parameter>();
        ParameterBuilder tokenPar = new ParameterBuilder();
        tokenPar.name("token").description("swagger测试用(模拟token传入)非必填 header").modelRef(new
ModelRef("string")).parameterType("header").required(false);
        /**
         * 多个的时候 就直接添加到 pars 就可以了
         */
        pars.add(tokenPar.build());
        return new Docket(DocumentationType.SWAGGER_2)
                 .apiInfo(apiInfo())// 创建该Api的基本信息(这些基本信息会展现在文档页面中)
               .select()// 函数返回一个ApiSelectorBuilder实例用来控制哪些接口暴露给Swagger ui来展现
               .apis(RequestHandlerSelectors.basePackage("com.yingxue.lesson.controller"))// 指定需
要扫描的包路路径
               .paths(PathSelectors.any())
               .build()
               .globalOperationParameters(pars)
               .enable(enable)
               ;
   }
    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
               .title("swagger2 全局配置头部信息")
               .description("假如入某个接口需从header拿一些数据检验怎么办?")
               .termsOfServiceUrl("")
               .version("1.0")
               .build();
   }
}

2、 测试


修改


testSwagger


方法
 @ApiOperation(value = "第一个swagger接口")
    @PostMapping("/swagger")
    public SwaggerReqVO testSwagger(@RequestBody SwaggerReqVO vo, HttpServletRequest request){
        System.out.println(request.getHeader("token"));
        return vo;
   }

3、 运行截图



版权声明:本文为wo9aiwuchunmin原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。