• Swagger2 模拟请求头


      前几天开发项目的时候,使用了Restful风格的接口。进行开发的时候,模拟请求头,带Token的时候遇到了一些问题。因为Api接口使用Swagger2进行搭建,所以找到了Swagger2 模拟header的方法。

      注意,当header需要多个参数的时候,新建多个 ParameterBuilder,经过我的测试,重复使用一个ParameterBuilder会出现后面覆盖前面的情况。 

     1 package qqzsh.top.hd.config;
     2 
     3 import org.springframework.context.annotation.Bean;
     4 import org.springframework.context.annotation.Configuration;
     5 import springfox.documentation.builders.ApiInfoBuilder;
     6 import springfox.documentation.builders.ParameterBuilder;
     7 import springfox.documentation.builders.PathSelectors;
     8 import springfox.documentation.builders.RequestHandlerSelectors;
     9 import springfox.documentation.schema.ModelRef;
    10 import springfox.documentation.service.ApiInfo;
    11 import springfox.documentation.service.Contact;
    12 import springfox.documentation.service.Parameter;
    13 import springfox.documentation.spi.DocumentationType;
    14 import springfox.documentation.spring.web.plugins.Docket;
    15 import springfox.documentation.swagger2.annotations.EnableSwagger2;
    16 
    17 import java.util.ArrayList;
    18 import java.util.List;
    19 
    20 /**
    21  * @author zsh
    22  * @site www.qqzsh.top
    23  * @company wlgzs
    24  * @create 2019-05-28 21:34
    25  * @description Swagger2配置
    26  */
    27 @Configuration
    28 @EnableSwagger2
    29 public class Swagger2Config {
    30 
    31     /**
    32      * Restful风格的接口
    33      * @return
    34      */
    35     @Bean
    36     public Docket createRestApi(){
    37 
    38         //添加head参数配置start
    39         ParameterBuilder tokenPar = new ParameterBuilder();
    40         ParameterBuilder tokenPar2 = new ParameterBuilder();
    41         List<Parameter> pars = new ArrayList<>();
    42         tokenPar.name("headerUserId").description("用户ID").
    43                 modelRef(new ModelRef("string")).
    44                 parameterType("header").
    45                 required(false).build();
    46         tokenPar2.name("headerUserToken").description("用户token").
    47                 modelRef(new ModelRef("string")).
    48                 parameterType("header").required(false).build();
    49         pars.add(tokenPar.build());
    50         pars.add(tokenPar2.build());
    51 
    52         return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select()
    53                 .apis(RequestHandlerSelectors.basePackage("qqzsh.top.hd.controller"))
    54                 .paths(PathSelectors.any()).build()
    55                 .globalOperationParameters(pars);
    56     }
    57 
    58     /**
    59      * 页面显示的开发者个人信息
    60      * @return
    61      */
    62     private ApiInfo apiInfo(){
    63         return new ApiInfoBuilder()
    64                 .title("嗨抖短视频API接口文档")
    65                 .contact(new Contact("zsh","http://qqzsh.top","2016zsh@wlgzs.org"))
    66                 .description("年轻人的欢乐短视频社区")
    67                 .version("1.0").build();
    68     }
    69 }
  • 相关阅读:
    Daily Scrumming* 2015.12.19(Day 11)
    Daily Scrumming* 2015.12.18(Day 10)
    软件工程 个人作业1
    网络1711-12&信管1711-12 图 作业评分
    网络1711-12 数据结构第一次作业评分
    Java课程设计
    网络1711-1712班 c 语言评分总表一览
    网络1711班 C语言第八次作业批改总结
    201621123050 《Java程序设计》第14周学习总结
    201621123050 《Java程序设计》第13周学习总结
  • 原文地址:https://www.cnblogs.com/zsh-blogs/p/10963277.html
Copyright © 2020-2023  润新知