官方文档中3.0规范(OpenAPI 3.0)
当全局header参数中包含命名为Accpet、Content-Type、Authorization的参数时,参数的定义将被忽略,需要手动添加。
List<SecurityContext> securityContexts = Collections.singletonList(SecurityContext.builder()
.securityReferences(Collections.singletonList(SecurityReference.builder()
.reference("Authorization")
.scopes(new AuthorizationScope[]{new AuthorizationScope("global",
"accessEverything")}).build()))
.build());
List<SecurityScheme> authKey = Collections.singletonList(new ApiKey("Authorization", "Authorization", "header"));
new Docket(DocumentationType.OAS_30)
//添加token的参数
.securityContexts(securityContexts)
.securitySchemes(authKey)
// 是否启用Swagger
.enable(enabled)
// 用来创建该API的基本信息,展示在文档的页面中(自定义展示的信息)
.apiInfo(apiInfo())
// 设置哪些接口暴露给Swagger展示
.select()
// 扫描所有有注解的api,用这种方式更灵活
.apis(RequestHandlerSelectors.withClassAnnotation(RestController.class))
// 扫描指定包中的swagger注解
.paths(PathSelectors.any())
.build();