package com.tievd.jyz.config; import com.tievd.cube.application.config.properties.SwaggerProperties; import io.swagger.v3.oas.models.Components; import io.swagger.v3.oas.models.ExternalDocumentation; import io.swagger.v3.oas.models.OpenAPI; import io.swagger.v3.oas.models.info.Info; import io.swagger.v3.oas.models.info.License; import io.swagger.v3.oas.models.security.SecurityRequirement; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; /** * Author: wqy * Date: 2022/12/12 14:38 */ @Configuration public class BeanConfig { @Autowired SwaggerProperties swaggerProperties; @Bean @ConditionalOnMissingBean public OpenAPI openAPI() { OpenAPI openAPI = new OpenAPI(); openAPI.info(new Info().title("Cube API") .description("魔方快速开发平台API") .version("v2.6.x") .license(new License() .name("Apache 2.0") .url("https://www.apache.org/licenses/LICENSE-2.0"))); openAPI.externalDocs(new ExternalDocumentation().description("魔方开发文档").url("http://125.71.201.11:10086/")); openAPI.components(new Components().securitySchemes(swaggerProperties.getSecuritySchemes())); swaggerProperties.getSecuritySchemes().keySet().forEach(key -> openAPI.addSecurityItem(new SecurityRequirement().addList(key))); return openAPI; } }