diff --git a/src/main/java/com/interplug/qcast/config/Exception/GlobalExceptionHandler.java b/src/main/java/com/interplug/qcast/config/Exception/GlobalExceptionHandler.java index 8ae4d369..3d556324 100644 --- a/src/main/java/com/interplug/qcast/config/Exception/GlobalExceptionHandler.java +++ b/src/main/java/com/interplug/qcast/config/Exception/GlobalExceptionHandler.java @@ -3,11 +3,11 @@ package com.interplug.qcast.config.Exception; import lombok.extern.slf4j.Slf4j; import org.springframework.http.ResponseEntity; import org.springframework.web.HttpRequestMethodNotSupportedException; -import org.springframework.web.bind.annotation.ControllerAdvice; import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.RestControllerAdvice; @Slf4j -@ControllerAdvice +@RestControllerAdvice public class GlobalExceptionHandler { @ExceptionHandler(HttpRequestMethodNotSupportedException.class) protected ResponseEntity handle(HttpRequestMethodNotSupportedException e) { @@ -22,6 +22,16 @@ public class GlobalExceptionHandler { .body(ErrorResponse.of(errorCode.getMessage())); } + @ExceptionHandler(QcastException.class) + protected ResponseEntity handle(QcastException e) { + final ErrorCode errorCode = e.getErrorCode(); + if (e.getMessage() == null) { + return ResponseEntity.status(errorCode.getStatus()) + .body(ErrorResponse.of(errorCode.getMessage())); + } + return ResponseEntity.status(errorCode.getStatus()).body(ErrorResponse.of(e.getMessage())); + } + @ExceptionHandler(Exception.class) protected ResponseEntity handle(Exception e) { return ResponseEntity.internalServerError()