From a3e8a103cca8221605152fadd722c2f83f96ed6e Mon Sep 17 00:00:00 2001 From: seungheonlee Date: Wed, 10 Sep 2025 22:38:21 +0900 Subject: [PATCH 1/2] =?UTF-8?q?refactor:=20=ED=94=84=EB=A1=9C=ED=95=84?= =?UTF-8?q?=EC=97=90=20=EC=83=81=EA=B4=80=EC=97=86=EC=9D=B4=20requestInter?= =?UTF-8?q?ceptor=20=EC=9D=98=EC=A1=B4=EC=84=B1=20=EC=B2=98=EB=A6=AC=20?= =?UTF-8?q?=EB=90=98=EB=8F=84=EB=A1=9D=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/rabbitmqprac/config/WebConfig.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/rabbitmqprac/config/WebConfig.java b/src/main/java/com/rabbitmqprac/config/WebConfig.java index 9ab3bc9..74f2b71 100644 --- a/src/main/java/com/rabbitmqprac/config/WebConfig.java +++ b/src/main/java/com/rabbitmqprac/config/WebConfig.java @@ -7,15 +7,18 @@ import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; -@Profile("prod") +import java.util.Optional; + @Configuration @RequiredArgsConstructor public class WebConfig implements WebMvcConfigurer { - private final RequestInterceptor requestInterceptor; + private final Optional requestInterceptor; @Override public void addInterceptors(InterceptorRegistry registry) { - registry.addInterceptor(requestInterceptor); + if (requestInterceptor.isPresent()) { + registry.addInterceptor(requestInterceptor.get()); + } } } From 64ac23e8fc2ad3a77fe4f208454d856bfa26b7e3 Mon Sep 17 00:00:00 2001 From: seungheonlee Date: Wed, 10 Sep 2025 22:39:04 +0900 Subject: [PATCH 2/2] =?UTF-8?q?fix:=20oauthProvider=20=ED=8C=8C=EB=9D=BC?= =?UTF-8?q?=EB=AF=B8=ED=84=B0=20=EB=B0=94=EC=9D=B8=EB=94=A9=20=EC=8B=A4?= =?UTF-8?q?=ED=8C=A8=20=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - OauthProviderConverter를 통한 파라미터 변환 --- .../com/rabbitmqprac/config/WebConfig.java | 7 +++++- .../converter/OauthProviderConverter.java | 22 +++++++++++++++++++ 2 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 src/main/java/com/rabbitmqprac/global/converter/OauthProviderConverter.java diff --git a/src/main/java/com/rabbitmqprac/config/WebConfig.java b/src/main/java/com/rabbitmqprac/config/WebConfig.java index 74f2b71..1136745 100644 --- a/src/main/java/com/rabbitmqprac/config/WebConfig.java +++ b/src/main/java/com/rabbitmqprac/config/WebConfig.java @@ -1,9 +1,10 @@ package com.rabbitmqprac.config; +import com.rabbitmqprac.global.converter.OauthProviderConverter; import com.rabbitmqprac.global.interceptor.RequestInterceptor; import lombok.RequiredArgsConstructor; import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.Profile; +import org.springframework.format.FormatterRegistry; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; @@ -21,4 +22,8 @@ public void addInterceptors(InterceptorRegistry registry) { } } + @Override + public void addFormatters(FormatterRegistry registrar) { + registrar.addConverter(new OauthProviderConverter()); + } } diff --git a/src/main/java/com/rabbitmqprac/global/converter/OauthProviderConverter.java b/src/main/java/com/rabbitmqprac/global/converter/OauthProviderConverter.java new file mode 100644 index 0000000..9f169ff --- /dev/null +++ b/src/main/java/com/rabbitmqprac/global/converter/OauthProviderConverter.java @@ -0,0 +1,22 @@ +package com.rabbitmqprac.global.converter; + +import com.rabbitmqprac.domain.persistence.oauth.constant.OauthProvider; +import org.springframework.core.convert.converter.Converter; +import org.springframework.web.method.annotation.MethodArgumentTypeMismatchException; + +public class OauthProviderConverter implements Converter { + @Override + public OauthProvider convert(String provider) { + try { + return OauthProvider.valueOf(provider.toUpperCase()); + } catch (IllegalArgumentException e) { + throw new MethodArgumentTypeMismatchException( + provider, + OauthProvider.class, + "oauthProvider", + null, + e + ); + } + } +}