From b86cd5c0ef5b65d088bb5b1317ee3b7ea555ac1e Mon Sep 17 00:00:00 2001 From: Bokyeom <79684339+k-kbk@users.noreply.github.com> Date: Sun, 26 Nov 2023 17:35:20 +0900 Subject: [PATCH] =?UTF-8?q?[etc]=20cors=20=EC=84=A4=EC=A0=95=20(#65)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: doji --- build.gradle.kts | 3 +- .../mjucow/eatda/common/config/WebConfig.kt | 30 +++++++++++++++++++ 2 files changed, 31 insertions(+), 2 deletions(-) create mode 100644 src/main/kotlin/com/mjucow/eatda/common/config/WebConfig.kt diff --git a/build.gradle.kts b/build.gradle.kts index a2c7b8a..e806d93 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,4 +1,3 @@ - import com.epages.restdocs.apispec.gradle.OpenApi3Task import org.jetbrains.kotlin.gradle.tasks.KotlinCompile import org.jooq.meta.jaxb.Logging @@ -130,7 +129,7 @@ tasks.withType { tasks.test { extensions.configure(JacocoTaskExtension::class) { - destinationFile = file("$buildDir/jacoco/jacoco.exec") + setDestinationFile(file("$buildDir/jacoco/jacoco.exec")) } finalizedBy(tasks.jacocoTestReport) diff --git a/src/main/kotlin/com/mjucow/eatda/common/config/WebConfig.kt b/src/main/kotlin/com/mjucow/eatda/common/config/WebConfig.kt new file mode 100644 index 0000000..24f06b2 --- /dev/null +++ b/src/main/kotlin/com/mjucow/eatda/common/config/WebConfig.kt @@ -0,0 +1,30 @@ +package com.mjucow.eatda.common.config + +import org.springframework.context.annotation.Configuration +import org.springframework.http.HttpMethod +import org.springframework.web.servlet.config.annotation.CorsRegistry +import org.springframework.web.servlet.config.annotation.EnableWebMvc +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer +import java.time.Duration +import java.time.temporal.ChronoUnit + +@Configuration +@EnableWebMvc +class WebConfig : WebMvcConfigurer { + + override fun addCorsMappings(registry: CorsRegistry) { + registry.addMapping("/api/**") + .allowedOriginPatterns("*") + .allowedMethods( + HttpMethod.GET.name(), + HttpMethod.POST.name(), + HttpMethod.DELETE.name(), + HttpMethod.PATCH.name(), + HttpMethod.HEAD.name(), + HttpMethod.OPTIONS.name() + ) + .allowedHeaders("*") + .allowCredentials(true) + .maxAge(Duration.of(60, ChronoUnit.MINUTES).toSeconds()) + } +}