From f739543677aab66d5172d99d04b59815a0f99ad2 Mon Sep 17 00:00:00 2001 From: NameIsUser06 Date: Sun, 7 Apr 2024 23:36:21 +0900 Subject: [PATCH 1/4] =?UTF-8?q?feat:=20swagger=20ui=20=EB=8F=84=EC=9E=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build.gradle | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build.gradle b/build.gradle index 78166327..b74fde10 100644 --- a/build.gradle +++ b/build.gradle @@ -67,6 +67,9 @@ dependencies { //aws s3 implementation 'com.amazonaws:aws-java-sdk-s3:1.12.638' + + // swagger-ui + implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.5.0' } tasks.named('test') { From 19850652d4105ceacec80b0633efd7de6ec819cf Mon Sep 17 00:00:00 2001 From: NameIsUser06 Date: Sun, 7 Apr 2024 23:36:41 +0900 Subject: [PATCH 2/4] =?UTF-8?q?feat:=20swagger=20authorize=20=EC=84=A4?= =?UTF-8?q?=EC=A0=95=20=EB=B0=8F=20=EA=B8=B0=EB=B3=B8=20Info=20=EC=84=A4?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../global/config/swagger/SwaggerConfig.java | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 src/main/java/com/project/bumawiki/global/config/swagger/SwaggerConfig.java diff --git a/src/main/java/com/project/bumawiki/global/config/swagger/SwaggerConfig.java b/src/main/java/com/project/bumawiki/global/config/swagger/SwaggerConfig.java new file mode 100644 index 00000000..30f05d4e --- /dev/null +++ b/src/main/java/com/project/bumawiki/global/config/swagger/SwaggerConfig.java @@ -0,0 +1,38 @@ +package com.project.bumawiki.global.config.swagger; + +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.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +@Configuration +public class SwaggerConfig { + @Bean + public OpenAPI openAPI() { + String jwt = "JWT"; + SecurityRequirement securityRequirement = new SecurityRequirement().addList(jwt); + Components components = new Components().addSecuritySchemes(jwt, new SecurityScheme() + .name(jwt) + .type(SecurityScheme.Type.HTTP) + .scheme("bearer") + .bearerFormat("JWT") + ); + + return new OpenAPI() + .components(new Components()) + .addSecurityItem(securityRequirement) + .components(components) + .info(apiInfo()); + } + + private Info apiInfo() { + return new Info() + .version("v2.0") + .title("Api Docs") + .summary("summary") + .description("부마위키 스웨거 API 문서"); + } +} From 032b6ae63e5473d533c8e381d73e43d9b99b7a23 Mon Sep 17 00:00:00 2001 From: NameIsUser06 Date: Sun, 7 Apr 2024 23:36:50 +0900 Subject: [PATCH 3/4] =?UTF-8?q?feat:=20=EC=BB=A8=ED=8A=B8=EB=A1=A4?= =?UTF-8?q?=EB=9F=AC=EB=B3=84=20=EB=AC=B8=EC=84=9C=20=EA=B7=B8=EB=A3=B9?= =?UTF-8?q?=ED=99=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../global/config/swagger/GroupApiConfig.java | 58 +++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 src/main/java/com/project/bumawiki/global/config/swagger/GroupApiConfig.java diff --git a/src/main/java/com/project/bumawiki/global/config/swagger/GroupApiConfig.java b/src/main/java/com/project/bumawiki/global/config/swagger/GroupApiConfig.java new file mode 100644 index 00000000..ed798c61 --- /dev/null +++ b/src/main/java/com/project/bumawiki/global/config/swagger/GroupApiConfig.java @@ -0,0 +1,58 @@ +package com.project.bumawiki.global.config.swagger; + +import org.springdoc.core.models.GroupedOpenApi; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +@Configuration +public class GroupApiConfig { + + @Bean + public GroupedOpenApi authApi() { + return GroupedOpenApi.builder() + .group("auth") + .pathsToMatch("/api/auth/**") + .build(); + } + + @Bean + public GroupedOpenApi coinApi() { + return GroupedOpenApi.builder() + .group("coin") + .pathsToMatch("/api/coins/**") + .build(); + } + + @Bean + public GroupedOpenApi docsApi() { + return GroupedOpenApi.builder() + .group("docs") + .pathsToMatch("/api/docs/**") + .build(); + } + + @Bean + public GroupedOpenApi thumbsUpApi() { + return GroupedOpenApi.builder() + .group("thumbsUp") + .pathsToMatch("/api/thumbs/**") + .build(); + } + + @Bean + public GroupedOpenApi userApi() { + return GroupedOpenApi.builder() + .group("user") + .pathsToMatch("/api/user/**") + .build(); + } + + @Bean + public GroupedOpenApi api() { + return GroupedOpenApi.builder() + .group("*") + .pathsToMatch("/api/**") + .build(); + } + +} From 57dc5cdaef2afc0a164cff0eb054c6e2648815bd Mon Sep 17 00:00:00 2001 From: NameIsUser06 Date: Tue, 9 Apr 2024 11:27:48 +0900 Subject: [PATCH 4/4] =?UTF-8?q?refactor:=20=EB=B6=88=ED=95=84=EC=9A=94?= =?UTF-8?q?=ED=95=9C=20=EB=82=B4=EC=9A=A9=20=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../project/bumawiki/global/config/swagger/SwaggerConfig.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/main/java/com/project/bumawiki/global/config/swagger/SwaggerConfig.java b/src/main/java/com/project/bumawiki/global/config/swagger/SwaggerConfig.java index 30f05d4e..833f68d5 100644 --- a/src/main/java/com/project/bumawiki/global/config/swagger/SwaggerConfig.java +++ b/src/main/java/com/project/bumawiki/global/config/swagger/SwaggerConfig.java @@ -22,7 +22,6 @@ public OpenAPI openAPI() { ); return new OpenAPI() - .components(new Components()) .addSecurityItem(securityRequirement) .components(components) .info(apiInfo()); @@ -32,7 +31,6 @@ private Info apiInfo() { return new Info() .version("v2.0") .title("Api Docs") - .summary("summary") .description("부마위키 스웨거 API 문서"); } }