From b8d62de41ff7e1e0549061308aa11f68cf881ed9 Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期三, 16 七月 2025 17:01:20 +0800 Subject: [PATCH] 修改所有的controller --- se-common/src/main/java/com/terra/common/config/SpringDocAutoConfiguration.java | 64 ++++++++++++++++++++++++++++++++ 1 files changed, 64 insertions(+), 0 deletions(-) diff --git a/se-common/src/main/java/com/terra/common/config/SpringDocAutoConfiguration.java b/se-common/src/main/java/com/terra/common/config/SpringDocAutoConfiguration.java new file mode 100644 index 0000000..9be91a0 --- /dev/null +++ b/se-common/src/main/java/com/terra/common/config/SpringDocAutoConfiguration.java @@ -0,0 +1,64 @@ +package com.terra.common.config; + +import com.terra.common.entity.all.SpringDocProperties; +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 io.swagger.v3.oas.models.servers.Server; +import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; +import org.springframework.boot.context.properties.EnableConfigurationProperties; +import org.springframework.context.annotation.Bean; + +import java.util.ArrayList; +import java.util.List; + +/** + * Swagger 鏂囨。閰嶇疆 + * + * @author admin + */ +@EnableConfigurationProperties(SpringDocProperties.class) +@ConditionalOnProperty(name = "springdoc.api-docs.enabled", havingValue = "true", matchIfMissing = true) +public class SpringDocAutoConfiguration +{ + @Bean + @ConditionalOnMissingBean(OpenAPI.class) + public OpenAPI openApi(SpringDocProperties properties) + { + return new OpenAPI().components(new Components() + // 璁剧疆璁よ瘉鐨勮姹傚ご + .addSecuritySchemes("apikey", securityScheme())) + .addSecurityItem(new SecurityRequirement().addList("apikey")) + .info(convertInfo(properties.getInfo())) + .servers(servers(properties.getGatewayUrl())); + } + + public SecurityScheme securityScheme() + { + return new SecurityScheme().type(SecurityScheme.Type.APIKEY) + .name("Authorization") + .in(SecurityScheme.In.HEADER) + .scheme("Bearer"); + } + + private Info convertInfo(SpringDocProperties.InfoProperties infoProperties) + { + Info info = new Info(); + info.setTitle(infoProperties.getTitle()); + info.setDescription(infoProperties.getDescription()); + info.setContact(infoProperties.getContact()); + info.setLicense(infoProperties.getLicense()); + info.setVersion(infoProperties.getVersion()); + return info; + } + + public List<Server> servers(String gatewayUrl) + { + List<Server> serverList = new ArrayList<>(); + serverList.add(new Server().url(gatewayUrl)); + return serverList; + } +} -- Gitblit v1.9.3