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;
|
}
|
|
}
|