如何要求 Swagger UI 在全局范围内为每个端点添加不记名令牌字段?
How to ask Swagger UI to add bearer token field for each endpoint globally?
由于描述的问题 我正在迁移到 Springdoc。现在 在 Swagger UI 中,我没有每个端点的不记名令牌字段,但这是预期的,因为这些端点是安全的。
我有以下配置:
@Bean
public OpenAPI myAPI() {
return new OpenAPI()
.components(new Components()
.addSecuritySchemes("bearer-key",
new SecurityScheme().type(SecurityScheme.Type.HTTP).scheme("bearer").bearerFormat("JWT")))
.info(new Info()
.title("MY API")
.description("Documentation of API v.1.0")
.version("1.0")
).addSecurityItem(
new SecurityRequirement().addList("bearer-jwt", Arrays.asList("read", "write")));
}
我找到了解决方法 - 将每个端点标记为:
@Operation(summary = "some description", security = { @SecurityRequirement(name = "bearer-key") })
但是我不喜欢做这种重复的工作
有没有办法让它在每个休息端点都成为全局的?
工作原理略有不同
当我使用 swagger 2 时,我必须提供类似
的令牌
Bearer eyJhbGciOi....
但现在我必须像
一样提供它
eyJhbGciOi....
public OpenAPI myAPI() {
return new OpenAPI()
.components(new Components()
.addSecuritySchemes("bearer-key",
new SecurityScheme()
.type(SecurityScheme.Type.HTTP)
.scheme("bearer")
.bearerFormat("JWT")
)
)
.info(new Info()
.title("My API")
.description("Documentation of API v.1.0")
.version("1.0")
).addSecurityItem(
new SecurityRequirement()
.addList("bearer-jwt", Arrays.asList("read", "write"))
.addList("bearer-key", Collections.emptyList())
);
}
由于描述的问题
我有以下配置:
@Bean
public OpenAPI myAPI() {
return new OpenAPI()
.components(new Components()
.addSecuritySchemes("bearer-key",
new SecurityScheme().type(SecurityScheme.Type.HTTP).scheme("bearer").bearerFormat("JWT")))
.info(new Info()
.title("MY API")
.description("Documentation of API v.1.0")
.version("1.0")
).addSecurityItem(
new SecurityRequirement().addList("bearer-jwt", Arrays.asList("read", "write")));
}
我找到了解决方法 - 将每个端点标记为:
@Operation(summary = "some description", security = { @SecurityRequirement(name = "bearer-key") })
但是我不喜欢做这种重复的工作
有没有办法让它在每个休息端点都成为全局的?
工作原理略有不同
当我使用 swagger 2 时,我必须提供类似
的令牌Bearer eyJhbGciOi....
但现在我必须像
一样提供它eyJhbGciOi....
public OpenAPI myAPI() {
return new OpenAPI()
.components(new Components()
.addSecuritySchemes("bearer-key",
new SecurityScheme()
.type(SecurityScheme.Type.HTTP)
.scheme("bearer")
.bearerFormat("JWT")
)
)
.info(new Info()
.title("My API")
.description("Documentation of API v.1.0")
.version("1.0")
).addSecurityItem(
new SecurityRequirement()
.addList("bearer-jwt", Arrays.asList("read", "write"))
.addList("bearer-key", Collections.emptyList())
);
}