fix(api-doc): 修复接口级鉴权配置不生效的问题

This commit is contained in:
2024-03-10 20:37:11 +08:00
parent ed15115e44
commit ab4a72e0ff

View File

@@ -86,28 +86,27 @@ public class SpringDocAutoConfiguration implements WebMvcConfigurer {
if (null != license) { if (null != license) {
info.license(new License().name(license.getName()).url(license.getUrl())); info.license(new License().name(license.getName()).url(license.getUrl()));
} }
OpenAPI openAPI = new OpenAPI(); OpenAPI openApi = new OpenAPI();
openAPI.info(info); openApi.info(info);
Components components = properties.getComponents(); Components components = properties.getComponents();
if (null != components) { if (null != components) {
openAPI.components(components); openApi.components(components);
// 鉴权配置 // 鉴权配置
Map<String, SecurityScheme> securitySchemeMap = components.getSecuritySchemes(); Map<String, SecurityScheme> securitySchemeMap = components.getSecuritySchemes();
if (MapUtil.isNotEmpty(securitySchemeMap)) { if (MapUtil.isNotEmpty(securitySchemeMap)) {
SecurityRequirement securityRequirement = new SecurityRequirement(); SecurityRequirement securityRequirement = new SecurityRequirement();
List<String> list = securitySchemeMap.values().stream().map(SecurityScheme::getName).toList(); List<String> list = securitySchemeMap.values().stream().map(SecurityScheme::getName).toList();
list.forEach(securityRequirement::addList); list.forEach(securityRequirement::addList);
openAPI.addSecurityItem(securityRequirement); openApi.addSecurityItem(securityRequirement);
} }
} }
return openAPI; return openApi;
} }
/** /**
* 全局自定义配置(全局添加鉴权参数) * 全局自定义配置(全局添加鉴权参数)
*/ */
@Bean @Bean
@ConditionalOnMissingBean
public GlobalOpenApiCustomizer globalOpenApiCustomizer(SpringDocExtensionProperties properties) { public GlobalOpenApiCustomizer globalOpenApiCustomizer(SpringDocExtensionProperties properties) {
return openApi -> { return openApi -> {
if (null != openApi.getPaths()) { if (null != openApi.getPaths()) {