1
0
Files
KotlinApiDemo/src/main/kotlin/io/visus/demos/kotlinapi/config/OpenApiConfig.kt
2026-03-03 07:12:49 -05:00

42 lines
1.4 KiB
Kotlin

package io.visus.demos.kotlinapi.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 org.springdoc.core.models.GroupedOpenApi
import org.springframework.context.annotation.Bean
import org.springframework.context.annotation.Configuration
@Configuration
class OpenApiConfig {
@Bean
fun customOpenAPI(): OpenAPI =
OpenAPI()
.info(
Info()
.title("Kotlin API")
.version("1.0.0")
.description("API documentation for Kotlin Spring Boot application"),
).components(
Components()
.addSecuritySchemes(
"bearerAuth",
SecurityScheme()
.type(SecurityScheme.Type.HTTP)
.scheme("bearer")
.bearerFormat("JWT")
.description("Enter JWT Bearer token"),
),
).addSecurityItem(SecurityRequirement().addList("bearerAuth"))
@Bean
fun apiV1(): GroupedOpenApi =
GroupedOpenApi
.builder()
.group("v1")
.pathsToMatch("/api/v1/**")
.build()
}