From 2f3049d700031660c83539bd8096a30c6c2a2053 Mon Sep 17 00:00:00 2001 From: youngseo cho Date: Tue, 28 May 2024 19:47:44 +0900 Subject: [PATCH] Feat: Set Swagger --- build.gradle | 4 +- .../cookieeserver/config/SwaggerConfig.java | 59 ++++++++----------- 2 files changed, 28 insertions(+), 35 deletions(-) diff --git a/build.gradle b/build.gradle index 3ec80c8..8dca786 100644 --- a/build.gradle +++ b/build.gradle @@ -35,8 +35,8 @@ dependencies { implementation group: 'com.googlecode.json-simple', name: 'json-simple', version: '1.1.1' // Swagger3 gradle - implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.0.2' - + implementation group: 'org.springdoc', name: 'springdoc-openapi-starter-webmvc-ui', version: '2.1.0' + implementation group: 'io.swagger.core.v3', name: 'swagger-core-jakarta', version: '2.2.7' //S3+CloudFront implementation 'org.springframework.cloud:spring-cloud-starter-aws:2.2.6.RELEASE' diff --git a/src/main/java/com/cookiee/cookieeserver/config/SwaggerConfig.java b/src/main/java/com/cookiee/cookieeserver/config/SwaggerConfig.java index 15a9c63..c217d5f 100644 --- a/src/main/java/com/cookiee/cookieeserver/config/SwaggerConfig.java +++ b/src/main/java/com/cookiee/cookieeserver/config/SwaggerConfig.java @@ -1,48 +1,41 @@ - - package com.cookiee.cookieeserver.config; -import io.swagger.v3.oas.annotations.OpenAPIDefinition; -import io.swagger.v3.oas.annotations.info.Info; -import lombok.RequiredArgsConstructor; + +import org.springdoc.core.customizers.OpenApiCustomizer; import org.springdoc.core.models.GroupedOpenApi; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; -import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; - -@OpenAPIDefinition( - info = @Info(title = "Cookiee API 명세서", - description = "Cookiee API 명세서 입니다.", - version = "v1")) -@RequiredArgsConstructor + +import io.swagger.v3.oas.models.info.Info; + @Configuration -public class SwaggerConfig implements WebMvcConfigurer { +public class SwaggerConfig { + + @Bean + public OpenApiCustomizer customOpenApiCustomizer() { + return openApi -> openApi.info(apiInfo("Cookiee- API")); + } - //http://localhost:8080/swagger-ui/index.html#/ @Bean - public GroupedOpenApi chatOpenApi() { - String[] paths = {"/**"}; + public OpenApiCustomizer userOpenApiCustomizer() { + return openApi -> openApi.info(apiInfo("cookiee-service")); + } + @Bean + public GroupedOpenApi userApi() { return GroupedOpenApi.builder() - .group("Cookiee API v1") - .pathsToMatch(paths) + .group("SERVICE") + .pathsToMatch("/api/**") + .addOpenApiCustomizer(customOpenApiCustomizer()) + .addOpenApiCustomizer(userOpenApiCustomizer()) .build(); } - @Override - public void addResourceHandlers(ResourceHandlerRegistry registry) { - registry.addResourceHandler("/swagger-ui.html") - .addResourceLocations("classpath:/META-INF/resources/"); - - registry.addResourceHandler("/webjars/**") - .addResourceLocations("classpath:/META-INF/resources/webjars/"); - // -- Static resources - registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/"); - registry.addResourceHandler("/css/**").addResourceLocations("classpath:/static/css"); - registry.addResourceHandler("/js/**").addResourceLocations("classpath:/static/js/"); - registry.addResourceHandler("/images/**").addResourceLocations("classpath:/static/images/"); - + private Info apiInfo(String title) { + return new Info() + .title(title) + .description("포토 캘린더 서비스, Cookiee-") + .version("1.0.0"); } -} \ No newline at end of file +}