From 74896f286d52b2c7bf0ae74bd344083adc54a329 Mon Sep 17 00:00:00 2001 From: beaniejoy Date: Fri, 25 Nov 2022 16:56:32 +0900 Subject: [PATCH] =?UTF-8?q?[#24]=20feat:=20JWT=20=EC=9D=B4=EC=9A=A9?= =?UTF-8?q?=ED=95=9C=20=EC=9D=B8=EA=B0=80=20=ED=94=84=EB=A1=9C=EC=84=B8?= =?UTF-8?q?=EC=8A=A4=20=EA=B0=9C=EB=B0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - exception 디렉토리 변경 - config 내용 일부 수정 --- .../io/beaniejoy/dongnecafe/common/config/SecurityConfig.kt | 1 + .../{domain/cafe => common}/error/CafeExceptionHandler.kt | 3 ++- .../error => common/error/exception}/CafeExistedException.kt | 2 +- .../error/exception}/CafeMenuNotFoundException.kt | 2 +- .../error => common/error/exception}/CafeNotFoundException.kt | 2 +- .../error/exception}/MenuOptionNotFoundException.kt | 2 +- .../error/exception}/OptionDetailNotFoundException.kt | 2 +- .../dongnecafe/domain/cafe/service/CafeMenuService.kt | 2 +- .../beaniejoy/dongnecafe/domain/cafe/service/CafeService.kt | 4 ++-- .../dongnecafe/domain/cafe/service/MenuOptionService.kt | 2 +- .../dongnecafe/domain/cafe/service/OptionDetailService.kt | 2 +- .../dongnecafe/security/filter/JwtAuthenticationFilter.kt | 3 +-- .../dongnecafe/domain/cafe/service/CafeMenuServiceTest.kt | 2 +- .../dongnecafe/domain/cafe/service/CafeServiceTest.kt | 4 ++-- 14 files changed, 17 insertions(+), 16 deletions(-) rename dongne-service-api/src/main/kotlin/io/beaniejoy/dongnecafe/{domain/cafe => common}/error/CafeExceptionHandler.kt (79%) rename dongne-service-api/src/main/kotlin/io/beaniejoy/dongnecafe/{domain/cafe/error => common/error/exception}/CafeExistedException.kt (63%) rename dongne-service-api/src/main/kotlin/io/beaniejoy/dongnecafe/{domain/cafe/error => common/error/exception}/CafeMenuNotFoundException.kt (74%) rename dongne-service-api/src/main/kotlin/io/beaniejoy/dongnecafe/{domain/cafe/error => common/error/exception}/CafeNotFoundException.kt (62%) rename dongne-service-api/src/main/kotlin/io/beaniejoy/dongnecafe/{domain/cafe/error => common/error/exception}/MenuOptionNotFoundException.kt (67%) rename dongne-service-api/src/main/kotlin/io/beaniejoy/dongnecafe/{domain/cafe/error => common/error/exception}/OptionDetailNotFoundException.kt (69%) diff --git a/dongne-service-api/src/main/kotlin/io/beaniejoy/dongnecafe/common/config/SecurityConfig.kt b/dongne-service-api/src/main/kotlin/io/beaniejoy/dongnecafe/common/config/SecurityConfig.kt index 1019ad6..7bf46f1 100644 --- a/dongne-service-api/src/main/kotlin/io/beaniejoy/dongnecafe/common/config/SecurityConfig.kt +++ b/dongne-service-api/src/main/kotlin/io/beaniejoy/dongnecafe/common/config/SecurityConfig.kt @@ -6,6 +6,7 @@ import org.springframework.beans.factory.annotation.Autowired import org.springframework.boot.autoconfigure.security.servlet.PathRequest import org.springframework.context.annotation.Bean import org.springframework.context.annotation.Configuration +import org.springframework.http.HttpMethod import org.springframework.security.config.annotation.web.builders.HttpSecurity import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity import org.springframework.security.config.annotation.web.configuration.WebSecurityCustomizer diff --git a/dongne-service-api/src/main/kotlin/io/beaniejoy/dongnecafe/domain/cafe/error/CafeExceptionHandler.kt b/dongne-service-api/src/main/kotlin/io/beaniejoy/dongnecafe/common/error/CafeExceptionHandler.kt similarity index 79% rename from dongne-service-api/src/main/kotlin/io/beaniejoy/dongnecafe/domain/cafe/error/CafeExceptionHandler.kt rename to dongne-service-api/src/main/kotlin/io/beaniejoy/dongnecafe/common/error/CafeExceptionHandler.kt index 7b1f1fd..c2e534c 100644 --- a/dongne-service-api/src/main/kotlin/io/beaniejoy/dongnecafe/domain/cafe/error/CafeExceptionHandler.kt +++ b/dongne-service-api/src/main/kotlin/io/beaniejoy/dongnecafe/common/error/CafeExceptionHandler.kt @@ -1,5 +1,6 @@ -package io.beaniejoy.dongnecafe.domain.cafe.error +package io.beaniejoy.dongnecafe.common.error +import io.beaniejoy.dongnecafe.common.error.exception.CafeNotFoundException import org.springframework.http.ResponseEntity import org.springframework.web.bind.annotation.ExceptionHandler import org.springframework.web.bind.annotation.RestControllerAdvice diff --git a/dongne-service-api/src/main/kotlin/io/beaniejoy/dongnecafe/domain/cafe/error/CafeExistedException.kt b/dongne-service-api/src/main/kotlin/io/beaniejoy/dongnecafe/common/error/exception/CafeExistedException.kt similarity index 63% rename from dongne-service-api/src/main/kotlin/io/beaniejoy/dongnecafe/domain/cafe/error/CafeExistedException.kt rename to dongne-service-api/src/main/kotlin/io/beaniejoy/dongnecafe/common/error/exception/CafeExistedException.kt index ac08e0d..cbf77c8 100644 --- a/dongne-service-api/src/main/kotlin/io/beaniejoy/dongnecafe/domain/cafe/error/CafeExistedException.kt +++ b/dongne-service-api/src/main/kotlin/io/beaniejoy/dongnecafe/common/error/exception/CafeExistedException.kt @@ -1,3 +1,3 @@ -package io.beaniejoy.dongnecafe.domain.cafe.error +package io.beaniejoy.dongnecafe.common.error.exception class CafeExistedException(name: String) : RuntimeException("Cafe[$name] is already existed") \ No newline at end of file diff --git a/dongne-service-api/src/main/kotlin/io/beaniejoy/dongnecafe/domain/cafe/error/CafeMenuNotFoundException.kt b/dongne-service-api/src/main/kotlin/io/beaniejoy/dongnecafe/common/error/exception/CafeMenuNotFoundException.kt similarity index 74% rename from dongne-service-api/src/main/kotlin/io/beaniejoy/dongnecafe/domain/cafe/error/CafeMenuNotFoundException.kt rename to dongne-service-api/src/main/kotlin/io/beaniejoy/dongnecafe/common/error/exception/CafeMenuNotFoundException.kt index d569449..1a963a8 100644 --- a/dongne-service-api/src/main/kotlin/io/beaniejoy/dongnecafe/domain/cafe/error/CafeMenuNotFoundException.kt +++ b/dongne-service-api/src/main/kotlin/io/beaniejoy/dongnecafe/common/error/exception/CafeMenuNotFoundException.kt @@ -1,4 +1,4 @@ -package io.beaniejoy.dongnecafe.domain.cafe.error +package io.beaniejoy.dongnecafe.common.error.exception class CafeMenuNotFoundException(menuId: Long, cafeId: Long) : RuntimeException("Cafe[${cafeId}]의 Menu[${menuId}]는 존재하지 않는 메뉴입니다.") \ No newline at end of file diff --git a/dongne-service-api/src/main/kotlin/io/beaniejoy/dongnecafe/domain/cafe/error/CafeNotFoundException.kt b/dongne-service-api/src/main/kotlin/io/beaniejoy/dongnecafe/common/error/exception/CafeNotFoundException.kt similarity index 62% rename from dongne-service-api/src/main/kotlin/io/beaniejoy/dongnecafe/domain/cafe/error/CafeNotFoundException.kt rename to dongne-service-api/src/main/kotlin/io/beaniejoy/dongnecafe/common/error/exception/CafeNotFoundException.kt index 63a183c..053daec 100644 --- a/dongne-service-api/src/main/kotlin/io/beaniejoy/dongnecafe/domain/cafe/error/CafeNotFoundException.kt +++ b/dongne-service-api/src/main/kotlin/io/beaniejoy/dongnecafe/common/error/exception/CafeNotFoundException.kt @@ -1,3 +1,3 @@ -package io.beaniejoy.dongnecafe.domain.cafe.error +package io.beaniejoy.dongnecafe.common.error.exception class CafeNotFoundException(cafeId: Long) : RuntimeException("Cafe[$cafeId] is not found") \ No newline at end of file diff --git a/dongne-service-api/src/main/kotlin/io/beaniejoy/dongnecafe/domain/cafe/error/MenuOptionNotFoundException.kt b/dongne-service-api/src/main/kotlin/io/beaniejoy/dongnecafe/common/error/exception/MenuOptionNotFoundException.kt similarity index 67% rename from dongne-service-api/src/main/kotlin/io/beaniejoy/dongnecafe/domain/cafe/error/MenuOptionNotFoundException.kt rename to dongne-service-api/src/main/kotlin/io/beaniejoy/dongnecafe/common/error/exception/MenuOptionNotFoundException.kt index 228fd9d..44742f6 100644 --- a/dongne-service-api/src/main/kotlin/io/beaniejoy/dongnecafe/domain/cafe/error/MenuOptionNotFoundException.kt +++ b/dongne-service-api/src/main/kotlin/io/beaniejoy/dongnecafe/common/error/exception/MenuOptionNotFoundException.kt @@ -1,3 +1,3 @@ -package io.beaniejoy.dongnecafe.domain.cafe.error +package io.beaniejoy.dongnecafe.common.error.exception class MenuOptionNotFoundException(menuOptionId: Long) : RuntimeException("MenuOption[$menuOptionId] is not found") \ No newline at end of file diff --git a/dongne-service-api/src/main/kotlin/io/beaniejoy/dongnecafe/domain/cafe/error/OptionDetailNotFoundException.kt b/dongne-service-api/src/main/kotlin/io/beaniejoy/dongnecafe/common/error/exception/OptionDetailNotFoundException.kt similarity index 69% rename from dongne-service-api/src/main/kotlin/io/beaniejoy/dongnecafe/domain/cafe/error/OptionDetailNotFoundException.kt rename to dongne-service-api/src/main/kotlin/io/beaniejoy/dongnecafe/common/error/exception/OptionDetailNotFoundException.kt index 59b5a88..3bb8d45 100644 --- a/dongne-service-api/src/main/kotlin/io/beaniejoy/dongnecafe/domain/cafe/error/OptionDetailNotFoundException.kt +++ b/dongne-service-api/src/main/kotlin/io/beaniejoy/dongnecafe/common/error/exception/OptionDetailNotFoundException.kt @@ -1,3 +1,3 @@ -package io.beaniejoy.dongnecafe.domain.cafe.error +package io.beaniejoy.dongnecafe.common.error.exception class OptionDetailNotFoundException(optionDetailId: Long) : RuntimeException("OptionDetail[$optionDetailId] is not found") \ No newline at end of file diff --git a/dongne-service-api/src/main/kotlin/io/beaniejoy/dongnecafe/domain/cafe/service/CafeMenuService.kt b/dongne-service-api/src/main/kotlin/io/beaniejoy/dongnecafe/domain/cafe/service/CafeMenuService.kt index bf40940..23c0857 100644 --- a/dongne-service-api/src/main/kotlin/io/beaniejoy/dongnecafe/domain/cafe/service/CafeMenuService.kt +++ b/dongne-service-api/src/main/kotlin/io/beaniejoy/dongnecafe/domain/cafe/service/CafeMenuService.kt @@ -1,7 +1,7 @@ package io.beaniejoy.dongnecafe.domain.cafe.service import io.beaniejoy.dongnecafe.domain.cafe.model.response.CafeMenuDetailedInfo -import io.beaniejoy.dongnecafe.domain.cafe.error.CafeMenuNotFoundException +import io.beaniejoy.dongnecafe.common.error.exception.CafeMenuNotFoundException import io.beaniejoy.dongnecafe.domain.cafe.model.request.CafeMenuUpdateRequest import io.beaniejoy.dongnecafe.domain.cafe.repository.CafeMenuRepository import org.springframework.data.repository.findByIdOrNull diff --git a/dongne-service-api/src/main/kotlin/io/beaniejoy/dongnecafe/domain/cafe/service/CafeService.kt b/dongne-service-api/src/main/kotlin/io/beaniejoy/dongnecafe/domain/cafe/service/CafeService.kt index 9452130..8d0504c 100644 --- a/dongne-service-api/src/main/kotlin/io/beaniejoy/dongnecafe/domain/cafe/service/CafeService.kt +++ b/dongne-service-api/src/main/kotlin/io/beaniejoy/dongnecafe/domain/cafe/service/CafeService.kt @@ -4,8 +4,8 @@ import io.beaniejoy.dongnecafe.domain.cafe.model.response.CafeDetailedInfo import io.beaniejoy.dongnecafe.domain.cafe.model.response.CafeSearchInfo import io.beaniejoy.dongnecafe.domain.cafe.model.request.CafeMenuRegisterRequest import io.beaniejoy.dongnecafe.domain.cafe.entity.Cafe -import io.beaniejoy.dongnecafe.domain.cafe.error.CafeExistedException -import io.beaniejoy.dongnecafe.domain.cafe.error.CafeNotFoundException +import io.beaniejoy.dongnecafe.common.error.exception.CafeExistedException +import io.beaniejoy.dongnecafe.common.error.exception.CafeNotFoundException import io.beaniejoy.dongnecafe.domain.cafe.repository.CafeRepository import mu.KLogging import org.springframework.data.domain.Page diff --git a/dongne-service-api/src/main/kotlin/io/beaniejoy/dongnecafe/domain/cafe/service/MenuOptionService.kt b/dongne-service-api/src/main/kotlin/io/beaniejoy/dongnecafe/domain/cafe/service/MenuOptionService.kt index 06236d8..dde1d00 100644 --- a/dongne-service-api/src/main/kotlin/io/beaniejoy/dongnecafe/domain/cafe/service/MenuOptionService.kt +++ b/dongne-service-api/src/main/kotlin/io/beaniejoy/dongnecafe/domain/cafe/service/MenuOptionService.kt @@ -1,6 +1,6 @@ package io.beaniejoy.dongnecafe.domain.cafe.service -import io.beaniejoy.dongnecafe.domain.cafe.error.MenuOptionNotFoundException +import io.beaniejoy.dongnecafe.common.error.exception.MenuOptionNotFoundException import io.beaniejoy.dongnecafe.domain.cafe.model.request.MenuOptionUpdateRequest import io.beaniejoy.dongnecafe.domain.cafe.repository.MenuOptionRepository import org.springframework.data.repository.findByIdOrNull diff --git a/dongne-service-api/src/main/kotlin/io/beaniejoy/dongnecafe/domain/cafe/service/OptionDetailService.kt b/dongne-service-api/src/main/kotlin/io/beaniejoy/dongnecafe/domain/cafe/service/OptionDetailService.kt index 4cbe0b7..269589b 100644 --- a/dongne-service-api/src/main/kotlin/io/beaniejoy/dongnecafe/domain/cafe/service/OptionDetailService.kt +++ b/dongne-service-api/src/main/kotlin/io/beaniejoy/dongnecafe/domain/cafe/service/OptionDetailService.kt @@ -1,6 +1,6 @@ package io.beaniejoy.dongnecafe.domain.cafe.service -import io.beaniejoy.dongnecafe.domain.cafe.error.OptionDetailNotFoundException +import io.beaniejoy.dongnecafe.common.error.exception.OptionDetailNotFoundException import io.beaniejoy.dongnecafe.domain.cafe.model.request.OptionDetailUpdateRequest import io.beaniejoy.dongnecafe.domain.cafe.repository.OptionDetailRepository import org.springframework.data.repository.findByIdOrNull diff --git a/dongne-service-api/src/main/kotlin/io/beaniejoy/dongnecafe/security/filter/JwtAuthenticationFilter.kt b/dongne-service-api/src/main/kotlin/io/beaniejoy/dongnecafe/security/filter/JwtAuthenticationFilter.kt index 11463d4..8719aec 100644 --- a/dongne-service-api/src/main/kotlin/io/beaniejoy/dongnecafe/security/filter/JwtAuthenticationFilter.kt +++ b/dongne-service-api/src/main/kotlin/io/beaniejoy/dongnecafe/security/filter/JwtAuthenticationFilter.kt @@ -1,7 +1,6 @@ package io.beaniejoy.dongnecafe.security.filter import io.beaniejoy.dongnecafe.security.JwtTokenUtils -import mu.KLogging import mu.KotlinLogging import org.springframework.security.core.context.SecurityContextHolder import org.springframework.web.filter.GenericFilterBean @@ -26,7 +25,7 @@ class JwtAuthenticationFilter( */ override fun doFilter(request: ServletRequest, response: ServletResponse, chain: FilterChain) { val httpRequest = request as HttpServletRequest - log.info { "[JwtAuthenticationFilter][${request.dispatcherType}][${request.requestURI}]" } + log.info { "[JwtAuthenticationFilter][${request.dispatcherType}] uri: ${request.requestURI}" } getAccessToken(httpRequest)?.let { jwtTokenUtils.getAuthentication(it) diff --git a/dongne-service-api/src/test/kotlin/io/beaniejoy/dongnecafe/domain/cafe/service/CafeMenuServiceTest.kt b/dongne-service-api/src/test/kotlin/io/beaniejoy/dongnecafe/domain/cafe/service/CafeMenuServiceTest.kt index 361267a..4654bf1 100644 --- a/dongne-service-api/src/test/kotlin/io/beaniejoy/dongnecafe/domain/cafe/service/CafeMenuServiceTest.kt +++ b/dongne-service-api/src/test/kotlin/io/beaniejoy/dongnecafe/domain/cafe/service/CafeMenuServiceTest.kt @@ -1,7 +1,7 @@ package io.beaniejoy.dongnecafe.domain.cafe.service import io.beaniejoy.dongnecafe.domain.cafe.entity.CafeMenu -import io.beaniejoy.dongnecafe.domain.cafe.error.CafeMenuNotFoundException +import io.beaniejoy.dongnecafe.common.error.exception.CafeMenuNotFoundException import io.beaniejoy.dongnecafe.domain.cafe.repository.CafeMenuRepository import io.beaniejoy.dongnecafe.domain.cafe.repository.MenuOptionRepository import io.beaniejoy.dongnecafe.domain.cafe.repository.OptionDetailRepository diff --git a/dongne-service-api/src/test/kotlin/io/beaniejoy/dongnecafe/domain/cafe/service/CafeServiceTest.kt b/dongne-service-api/src/test/kotlin/io/beaniejoy/dongnecafe/domain/cafe/service/CafeServiceTest.kt index 5e5247d..c66c95a 100644 --- a/dongne-service-api/src/test/kotlin/io/beaniejoy/dongnecafe/domain/cafe/service/CafeServiceTest.kt +++ b/dongne-service-api/src/test/kotlin/io/beaniejoy/dongnecafe/domain/cafe/service/CafeServiceTest.kt @@ -1,8 +1,8 @@ package io.beaniejoy.dongnecafe.domain.cafe.service import io.beaniejoy.dongnecafe.domain.cafe.entity.Cafe -import io.beaniejoy.dongnecafe.domain.cafe.error.CafeExistedException -import io.beaniejoy.dongnecafe.domain.cafe.error.CafeNotFoundException +import io.beaniejoy.dongnecafe.common.error.exception.CafeExistedException +import io.beaniejoy.dongnecafe.common.error.exception.CafeNotFoundException import io.beaniejoy.dongnecafe.domain.cafe.repository.CafeRepository import io.beaniejoy.dongnecafe.domain.cafe.utils.CafeTestUtils import org.junit.jupiter.api.*