From 4561e68c280275e250d4a46332f3238f35dc26b5 Mon Sep 17 00:00:00 2001 From: Sambo Chea Date: Sat, 11 Dec 2021 12:19:23 +0700 Subject: [PATCH] Updated openapi config and app properties --- .../cubetiqs/web/config/OpenApiDocConfig.kt | 21 ++++++++----------- .../cubetiqs/web/property/AppProperties.kt | 12 ++++++++--- api/src/main/resources/application.yml | 5 +++-- 3 files changed, 21 insertions(+), 17 deletions(-) diff --git a/api/src/main/kotlin/com/cubetiqs/web/config/OpenApiDocConfig.kt b/api/src/main/kotlin/com/cubetiqs/web/config/OpenApiDocConfig.kt index 1b4ffdf..0ae6db9 100644 --- a/api/src/main/kotlin/com/cubetiqs/web/config/OpenApiDocConfig.kt +++ b/api/src/main/kotlin/com/cubetiqs/web/config/OpenApiDocConfig.kt @@ -1,12 +1,13 @@ package com.cubetiqs.web.config +import com.cubetiqs.web.property.AppProperties import io.swagger.v3.oas.annotations.enums.SecuritySchemeType import io.swagger.v3.oas.annotations.security.SecurityScheme -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 org.springdoc.core.GroupedOpenApi +import org.springframework.beans.factory.annotation.Autowired import org.springframework.context.annotation.Bean import org.springframework.context.annotation.Configuration @@ -16,9 +17,10 @@ import org.springframework.context.annotation.Configuration type = SecuritySchemeType.HTTP, scheme = "bearer", bearerFormat = "JWT", - ) -class OpenApiDocConfig { +class OpenApiDocConfig @Autowired constructor( + val appProperties: AppProperties, +) { companion object { private val ADMIN_API_PATH get() = "/admin/**" private val DEFAULT_API_PATH get() = "/**" @@ -46,15 +48,10 @@ class OpenApiDocConfig { fun cubetiqOpenAPI(): OpenAPI { return OpenAPI() .info( - Info().title("CUBETIQ Web API") - .description("CUBETIQ Spring Web API Application") - .version("v0.0.1") - .license(License().name("Apache 2.0").url("https://cubetiqs.com")) - ) - .externalDocs( - ExternalDocumentation() - .description("CUBETIQ Web Wiki Documentation") - .url("https://cubetiqs.com") + Info().title(appProperties.appName) + .description(appProperties.appDescription) + .version(appProperties.appVersion) + .license(License().name("Apache 2.0").url(appProperties.appLicenseUrl)) ) } } \ No newline at end of file diff --git a/api/src/main/kotlin/com/cubetiqs/web/property/AppProperties.kt b/api/src/main/kotlin/com/cubetiqs/web/property/AppProperties.kt index b154314..a2b21c5 100644 --- a/api/src/main/kotlin/com/cubetiqs/web/property/AppProperties.kt +++ b/api/src/main/kotlin/com/cubetiqs/web/property/AppProperties.kt @@ -4,10 +4,16 @@ import com.cubetiqs.web.stereotype.FunctionComponent import org.springframework.beans.factory.annotation.Value @FunctionComponent -class AppProperties ( - @Value("\${cubetiq.app.name:CUBETIQ API Service}") +class AppProperties( + @Value("\${cubetiq.app.name:CUBETIQ Web API}") val appName: String, - @Value("\${cubetiq.app.description:CUBETIQ APIs Documentation}") + @Value("\${cubetiq.app.description:CUBETIQ Web APIs Documentation}") val appDescription: String, + + @Value("\${cubetiq.app.version:v0.0.1}") + val appVersion: String, + + @Value("\${cubetiq.app.license-url:https://cubetiqs.com}") + val appLicenseUrl: String, ) \ No newline at end of file diff --git a/api/src/main/resources/application.yml b/api/src/main/resources/application.yml index ded4c8b..bea3b1f 100644 --- a/api/src/main/resources/application.yml +++ b/api/src/main/resources/application.yml @@ -7,13 +7,14 @@ spring: cubetiq: app: data-dir: ${APP_DATA_DIR:${user.home}/${spring.application.name}} - name: CUBETIQ API Service - description: CUBETIQ API's Documentation + name: CUBETIQ Web API + description: CUBETIQ Spring Web API's Documentation logging: file: path: ${LOGGING_FILE_PATH:${cubetiq.app.data-dir}/logs/} name: ${logging.file.path}/app.log + springdoc: api-docs: enabled: true