You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
autoflow-server-mgmt/src/main/java/kr/re/etri/autoflow/swagger/OpenAPIConfig.java

65 lines
2.3 KiB

package kr.re.etri.autoflow.swagger;
11 months ago
import io.swagger.v3.oas.models.Components;
11 months ago
import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.info.Contact;
11 months ago
import io.swagger.v3.oas.models.info.Info;
import io.swagger.v3.oas.models.info.License;
11 months ago
import io.swagger.v3.oas.models.security.SecurityRequirement;
import io.swagger.v3.oas.models.security.SecurityScheme;
import io.swagger.v3.oas.models.servers.Server;
11 months ago
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.util.List;
11 months ago
@Configuration
public class OpenAPIConfig {
private static final String SECURITY_SCHEME_NAME = "bezkoder-jwt-cookie";
private static final String PRODUCTION_SERVER_URL = "http://cuuva.com:2480/autoflow";
private static final String LOCAL_SERVER_URL = "http://localhost:80";
11 months ago
@Bean
public OpenAPI customOpenAPI() {
return new OpenAPI()
.components(createComponents())
.addSecurityItem(createSecurityRequirement())
.info(createApiInfo())
.servers(createServerList());
}
private Components createComponents() {
return new Components().addSecuritySchemes(SECURITY_SCHEME_NAME,
new SecurityScheme()
.name("bezkoder-jwt") // 쿠키 이름
.type(SecurityScheme.Type.APIKEY)
.in(SecurityScheme.In.COOKIE)
);
}
private SecurityRequirement createSecurityRequirement() {
return new SecurityRequirement().addList(SECURITY_SCHEME_NAME);
}
private Info createApiInfo() {
return new Info()
.title("Autoflow API")
.description("Autoflow 서비스의 Swagger 문서")
.version("1.0.0")
.contact(new Contact()
.name("API Support")
.email("jhg88@cuuva.com"))
.license(new License()
.name("CUUVA")
.url("http://cuuva.com"));
}
private List<Server> createServerList() {
return List.of(
new Server().url(PRODUCTION_SERVER_URL).description("Production Server"),
new Server().url(LOCAL_SERVER_URL).description("Local Server")
);
11 months ago
}
}