Swagger中添加Authorization请求头需要配置securitySchemes和securityContexts。
@Configuration@EnableSwagger2public class Swagger2Config { @Bean public Docket docket() { return new Docket(DocumentationType.SWAGGER_2) .groupName("demo") .apiInfo(apiInfo()) .select() .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class)) .paths(PathSelectors.regex("/api/.*")) .build() # 增加Authorization请求头 .securitySchemes(securitySchemes()) .securityContexts(securityContexts()); } private List securitySchemes() { List apiKeys = new ArrayList<>(); apiKeys.add(new ApiKey("Authorization", "Authorization", "header")); return apiKeys; } private List securityContexts() { List securityContexts = new ArrayList<>(); securityContexts.add(SecurityContext.builder() .securityReferences(defaultAuth()) .forPaths(PathSelectors.regex("^(?!auth).*$")).build()); return securityContexts; } private List defaultAuth() { AuthorizationScope authorizationScope = new AuthorizationScope("global", "accessEverything"); AuthorizationScope[] authorizationScopes = new AuthorizationScope[1]; authorizationScopes[0] = authorizationScope; List securityReferences = new ArrayList<>(); securityReferences.add(new SecurityReference("Authorization", authorizationScopes)); return securityReferences; }}
![b9cdb9d7a36ad705bfaac69abe4700b5.png](https://i-blog.csdnimg.cn/blog_migrate/e97ce9cb923706f4aa3ed07670ef5fa4.jpeg)
![b176ab68355f631c0386ef2153d398c5.png](https://i-blog.csdnimg.cn/blog_migrate/fc4a461fb89c765508b8b2f8c1bbf69c.jpeg)