40 lines
1.6 KiB
Java
40 lines
1.6 KiB
Java
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 认证令牌,登录后获取")
|
|
)
|
|
);
|
|
}
|
|
} |