diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/common/SodaExceptionHandler.kt b/src/main/kotlin/kr/co/vividnext/sodalive/common/SodaExceptionHandler.kt index 045cf83..8bc17d7 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/common/SodaExceptionHandler.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/common/SodaExceptionHandler.kt @@ -3,6 +3,7 @@ package kr.co.vividnext.sodalive.common import org.slf4j.LoggerFactory import org.springframework.dao.DataIntegrityViolationException import org.springframework.http.HttpStatus +import org.springframework.http.ResponseEntity import org.springframework.security.access.AccessDeniedException import org.springframework.security.authentication.BadCredentialsException import org.springframework.security.authentication.InternalAuthenticationServiceException @@ -10,6 +11,7 @@ import org.springframework.web.bind.annotation.ExceptionHandler import org.springframework.web.bind.annotation.ResponseStatus import org.springframework.web.bind.annotation.RestControllerAdvice import org.springframework.web.multipart.MaxUploadSizeExceededException +import org.springframework.web.server.ResponseStatusException @RestControllerAdvice class SodaExceptionHandler { @@ -24,6 +26,13 @@ class SodaExceptionHandler { ) } + // ResponseStatusException은 ApiResponse로 래핑하지 않고 그대로 전달 + @ExceptionHandler(ResponseStatusException::class) + fun handleResponseStatusException(e: ResponseStatusException): ResponseEntity { + // 별도 바디 없이 상태코드만 반환하여 기본 예외 형태를 유지 + return ResponseEntity.status(e.status).build() + } + @ExceptionHandler(MaxUploadSizeExceededException::class) fun handleMaxUploadSizeExceededException(e: MaxUploadSizeExceededException) = run { logger.error("API error", e)