diff --git a/build.gradle b/build.gradle index 3c4c29f..2e9c6dd 100644 --- a/build.gradle +++ b/build.gradle @@ -48,6 +48,8 @@ dependencies { // postgre implementation 'org.postgresql:postgresql:42.7.4' runtimeOnly 'org.postgresql:postgresql' + // Swagger + implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.0.2' } tasks.named('test') { diff --git a/src/main/java/com/swOnCampus/AIPlatform/domain/member/web/dto/EmailCheckResponseDto.java b/src/main/java/com/swOnCampus/AIPlatform/domain/member/web/dto/EmailCheckResponseDto.java index 8b85c20..3b7b751 100644 --- a/src/main/java/com/swOnCampus/AIPlatform/domain/member/web/dto/EmailCheckResponseDto.java +++ b/src/main/java/com/swOnCampus/AIPlatform/domain/member/web/dto/EmailCheckResponseDto.java @@ -2,10 +2,12 @@ import lombok.AllArgsConstructor; import lombok.Builder; +import lombok.Data; import lombok.NoArgsConstructor; public class EmailCheckResponseDto { + @Data @Builder @AllArgsConstructor @NoArgsConstructor diff --git a/src/main/java/com/swOnCampus/AIPlatform/global/config/SwaggerConfig.java b/src/main/java/com/swOnCampus/AIPlatform/global/config/SwaggerConfig.java new file mode 100644 index 0000000..adea8c0 --- /dev/null +++ b/src/main/java/com/swOnCampus/AIPlatform/global/config/SwaggerConfig.java @@ -0,0 +1,40 @@ +package com.swOnCampus.AIPlatform.global.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.security.SecurityRequirement; +import io.swagger.v3.oas.models.security.SecurityScheme; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +@OpenAPIDefinition( + info = @Info( + title = "SwOnCampusAIPlatform API Docs", + description = "SwOnCampusAIPlatform API 문서", + version = "v1" + ) +) +@Configuration +public class SwaggerConfig { + + private static final String BEARER_TOKEN_PREFIX = "Bearer"; + + @Bean + public OpenAPI openAPI() { + String securityJwtName = "JWT"; + SecurityRequirement securityRequirement = new SecurityRequirement().addList(securityJwtName); + Components components = new Components() + .addSecuritySchemes(securityJwtName, new SecurityScheme() + .name(securityJwtName) + .type(SecurityScheme.Type.HTTP) + .scheme(BEARER_TOKEN_PREFIX) + .bearerFormat(securityJwtName)); + + return new OpenAPI() + .addSecurityItem(securityRequirement) + .components(components); + } +} \ No newline at end of file