diff --git a/src/main/java/com/alist/api/config/OpenApiConfig.java b/src/main/java/com/alist/api/config/OpenApiConfig.java index 1ba31ed..847d5b7 100644 --- a/src/main/java/com/alist/api/config/OpenApiConfig.java +++ b/src/main/java/com/alist/api/config/OpenApiConfig.java @@ -1,29 +1,29 @@ package com.alist.api.config; -import io.swagger.v3.oas.annotations.OpenAPIDefinition; -import io.swagger.v3.oas.annotations.info.Info; 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.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration -@OpenAPIDefinition( - info = @Info( - title = "A*List Api App", - version = "v1", - description = "A*List Api App 입니다.!" - ) -) public class OpenApiConfig { private static final String SECURITY_SCHEME_NAME = "bearerAuth"; + @Value("${api.version}") + private String apiVersion; + @Bean public OpenAPI openAPI() { return new OpenAPI() + .info(new Info() + .title("A*List Api App") + .version(apiVersion) + .description("A*List Api App 입니다.!")) .addSecurityItem(new SecurityRequirement().addList(SECURITY_SCHEME_NAME)) .components(new Components() .addSecuritySchemes(SECURITY_SCHEME_NAME, diff --git a/src/main/resources/application.yaml b/src/main/resources/application.yaml index 55281b8..189cd9c 100644 --- a/src/main/resources/application.yaml +++ b/src/main/resources/application.yaml @@ -21,6 +21,26 @@ springdoc: api-docs: path: /v3/api-docs + # API version rule: MAJOR.MINOR.PATCH + # MAJOR: 기존 API와 호환되지 않는 변경 + # - 요청/응답 필드명 변경 또는 삭제 + # - URL, HTTP Method, 인증 방식 변경 + # - 기존 클라이언트가 수정 없이는 사용할 수 없는 변경 + # + # MINOR: 기존 API와 호환되는 기능 추가 + # - 신규 API 추가 + # - 응답 필드 추가 + # - 선택 요청 파라미터 추가 + # - 기존 동작을 깨지 않는 기능 확장 + # + # PATCH: 호환성에 영향 없는 수정 + # - 버그 수정 + # - 문서/Swagger 설명 수정 + # - 내부 로직 개선 + # - 성능 개선 +api: + version: v1.0.1 + management: endpoints: web: