mirror of
https://github.com/nagisa77/OpenIsle.git
synced 2026-02-12 10:00:58 +08:00
55 lines
1.6 KiB
Java
55 lines
1.6 KiB
Java
package com.openisle.config;
|
|
|
|
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 java.util.List;
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
import org.springframework.context.annotation.Bean;
|
|
import org.springframework.context.annotation.Configuration;
|
|
|
|
@Configuration
|
|
public class OpenApiConfig {
|
|
|
|
@Value("${springdoc.info.title}")
|
|
private String title;
|
|
|
|
@Value("${springdoc.info.description}")
|
|
private String description;
|
|
|
|
@Value("${springdoc.info.version}")
|
|
private String version;
|
|
|
|
@Value("${springdoc.info.scheme}")
|
|
private String scheme;
|
|
|
|
@Value("${springdoc.info.header}")
|
|
private String header;
|
|
|
|
@Value("${springdoc.api-docs.server-url}")
|
|
private String serverUrl;
|
|
|
|
@Bean
|
|
public OpenAPI openAPI() {
|
|
SecurityScheme securityScheme = new SecurityScheme()
|
|
.type(SecurityScheme.Type.HTTP)
|
|
.scheme(scheme.toLowerCase())
|
|
.bearerFormat("JWT")
|
|
.in(SecurityScheme.In.HEADER)
|
|
.name(header);
|
|
|
|
return new OpenAPI()
|
|
.servers(List.of(new Server().url(serverUrl)))
|
|
.info(new Info()
|
|
.title(title)
|
|
.description(description)
|
|
.version(version))
|
|
.components(new Components().addSecuritySchemes("JWT", securityScheme))
|
|
.addSecurityItem(new SecurityRequirement().addList("JWT"));
|
|
}
|
|
}
|