package com.metalloop.framework.swagger; import io.swagger.v3.oas.models.Components; import io.swagger.v3.oas.models.OpenAPI; import io.swagger.v3.oas.models.info.Info; import io.swagger.v3.oas.models.security.SecurityRequirement; import io.swagger.v3.oas.models.security.SecurityScheme; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; /** * Springdoc OpenAPI 配置类 * 用于定制 API 文档信息及全局安全认证方案 */ @Configuration public class OpenApiConfig { @Bean public OpenAPI customOpenAPI() { return new OpenAPI() // 设置 API 基本信息 .info(new Info() .title("有色再生资源交易平台 API") .version("1.0") .description("METALLOOP 后端接口文档") ) // 声明全局安全要求(在 Swagger UI 中显示 Authorize 按钮) .addSecurityItem(new SecurityRequirement().addList("Sa-Token")) // 定义安全方案(API Key 方式) .components(new Components() .addSecuritySchemes("Sa-Token", new SecurityScheme() .type(SecurityScheme.Type.APIKEY) .in(SecurityScheme.In.HEADER) .name("metalloop-token") // 与 Sa-Token 配置的 token-name 保持一致 .description("Sa-Token 认证令牌,登录后获取") ) ); } }