效果
实现
大家使用swagger肯定知道在代码中会写一个 SwaggerConfig 配置类,如果没有这个类swagger指定也用不起来,所以在swagger中配置请求头也是在这个 SwaggerConfig 中操作。
1、要实现配置请求头在配置swagger的Docket的bean实例中添加一个 globalOperationParameters() 全局配置即可。
来看下 globalOperationParameters() 的位置(自行添加):
2、然后给这个全局配置需要接收一个 List< Parameter > 类型的参数,所以接下来需要给参数参数配置信息:
3、到这里就实现请求头的全部配置了,下面是完整代码
@Bean
public Docket docket() {
ParameterBuilder tokenPar = new ParameterBuilder();
List<Parameter> pars = new ArrayList<>();
//header中的token参数非必填,传空也可以
tokenPar.name(TokenUtil.APPSECRET).description("请求接口所需Token")
.modelRef(new ModelRef("string")).parameterType("header")
.required(false).build(); //false非必输 true必输
pars.add(tokenPar.build());
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
//basePackage("main.helloController") 指定要扫描的包
//any 扫描全部
//none 都不扫描
//withClassAnnotation(RequestMapping.class) 扫描类上的注解
//withMethodAnnotation(GetMapping.class) 扫描方法上面的注解 也可以说是扫描请求方式
.apis(RequestHandlerSelectors.basePackage(packagePath))
//paths 过滤什么路径
// .paths(PathSelectors.ant(""))
.build().host(host)
.globalOperationParameters(pars);// 全局配置
}
如果还没有使用过swagger可以参考以下链接
在springboot中整合swagger2教程
swagger开启knife4j