하석형 하석형 03-20
250320 하석형 코드/데이터 중복, 파일업로드 관련 Exception 추가
@ff482904213fb30d7cdd18c4f14a5ca792538a22
src/main/java/com/takensoft/cms/accesCtrl/service/SystemAccesCtrlService.java
--- src/main/java/com/takensoft/cms/accesCtrl/service/SystemAccesCtrlService.java
+++ src/main/java/com/takensoft/cms/accesCtrl/service/SystemAccesCtrlService.java
@@ -23,5 +23,5 @@
      *
      * 접근 제어 조회(시스템용 - 라우터)
      */
-    public boolean routerAccesCheck(Map params, HttpServletRequest req) throws Exception;
+    public boolean routerAccesCheck(Map params, HttpServletRequest req);
 }
src/main/java/com/takensoft/common/exception/CustomCodeDuplicationException.java
--- src/main/java/com/takensoft/common/exception/CustomCodeDuplicationException.java
+++ src/main/java/com/takensoft/common/exception/CustomCodeDuplicationException.java
@@ -1,11 +1,11 @@
 package com.takensoft.common.exception;
 
 /**
- * @author takensoft
+ * @author 하석형
  * @since 2025.03.12
  * @modification
  *     since    |    author    | description
- *  2025.03.12  |   하 석 형    | 최초 등록
+ *  2025.03.12  |    하석형     | 최초 등록
  *
  * RuntimeException - 실행 중 발생하는 예외를 처리하는 기본 클래스
  *
src/main/java/com/takensoft/common/exception/CustomDataDuplicationException.java
--- src/main/java/com/takensoft/common/exception/CustomDataDuplicationException.java
+++ src/main/java/com/takensoft/common/exception/CustomDataDuplicationException.java
@@ -1,11 +1,11 @@
 package com.takensoft.common.exception;
 
 /**
- * @author takensoft
+ * @author 하석형
  * @since 2025.03.12
  * @modification
  *     since    |    author    | description
- *  2025.03.12  |   하 석 형    | 최초 등록
+ *  2025.03.12  |    하석형     | 최초 등록
  *
  * RuntimeException - 실행 중 발생하는 예외를 처리하는 기본 클래스
  *
 
src/main/java/com/takensoft/common/exception/CustomFileUploadFailException.java (added)
+++ src/main/java/com/takensoft/common/exception/CustomFileUploadFailException.java
@@ -0,0 +1,26 @@
+package com.takensoft.common.exception;
+
+/**
+ * @author 하석형
+ * @since 2025.03.20
+ * @modification
+ *     since    |    author    | description
+ *  2025.03.20  |    하석형     | 최초 등록
+ *
+ * RuntimeException - 실행 중 발생하는 예외를 처리하는 기본 클래스
+ *
+ * 파일 업로드 실패 시 발생하는 예외
+ */
+public class CustomFileUploadFailException extends RuntimeException {
+
+    public CustomFileUploadFailException() {
+    }
+
+    public CustomFileUploadFailException(String message) {
+        super(message);
+    }
+
+    public CustomFileUploadFailException(String message, Throwable cause) {
+        super(message, cause);
+    }
+}(파일 끝에 줄바꿈 문자 없음)
src/main/java/com/takensoft/common/exception/GlobalExceptionHandler.java
--- src/main/java/com/takensoft/common/exception/GlobalExceptionHandler.java
+++ src/main/java/com/takensoft/common/exception/GlobalExceptionHandler.java
@@ -4,6 +4,7 @@
 import com.takensoft.common.util.ResponseUtil;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.tomcat.util.http.fileupload.impl.FileSizeLimitExceededException;
 import org.springframework.dao.DataAccessException;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
@@ -21,6 +22,8 @@
  * @modification
  *     since    |    author    | description
  *  2025.01.22  |  takensoft   | 최초 등록
+ *  2025.03.12  |    하석형     | handleCustomCodeDuplicationException, handleCustomDataDuplicationException 추가
+ *  2025.03.20  |    하석형     | handleFileSizeLimitExceededException, CustomFileUploadFailException 추가
  *
  * 스프링 MVC 컨트롤러에서 발생하는 예외를 처리하는 공통 클래스
  */
@@ -268,6 +271,30 @@
     }
 
     /**
+     * @param fsle - FileSizeLimitExceededException 예외 객체
+     * @return FileSizeLimitExceededException 대한 HTTP 응답
+     *
+     * FileSizeLimitExceededException 발생한 경우
+     */
+    @ExceptionHandler(FileSizeLimitExceededException.class)
+    public ResponseEntity<?> handleFileSizeLimitExceededException(FileSizeLimitExceededException fsle) {
+        logError(fsle);
+        return resUtil.errorRes(MessageCode.COMMON_PAYLOAD_TOO_LARGE);
+    }
+
+    /**
+     * @param cfufe - CustomFileUploadFailException 예외 객체
+     * @return CustomFileUploadFailException 대한 HTTP 응답
+     *
+     * CustomFileUploadFailException 발생한 경우
+     */
+    @ExceptionHandler(CustomFileUploadFailException.class)
+    public ResponseEntity<?> handleCustomFileUploadFailException(CustomFileUploadFailException cfufe) {
+        logError(cfufe);
+        return resUtil.errorRes(MessageCode.FILE_UPLOAD_FAIL);
+    }
+
+    /**
      * @param e - Exception 예외 객체
      * @return 기타 예외에 대한 HTTP 응답
      *
src/main/java/com/takensoft/common/message/MessageCode.java
--- src/main/java/com/takensoft/common/message/MessageCode.java
+++ src/main/java/com/takensoft/common/message/MessageCode.java
@@ -60,7 +60,10 @@
     LOGIN_ACCOUNT_DISABLED("user.login.account_disabled", HttpStatus.FORBIDDEN), // 계정 비활성화
     LOGIN_ACCOUNT_EXPIRED("user.login.account_expired", HttpStatus.FORBIDDEN), // 계정 만료
     LOGIN_CREDENTIALS_EXPIRED("user.login.credentials_expired", HttpStatus.FORBIDDEN), // 비밀번호 유효기간 만료
-    LOGOUT_SUCCESS("user.logout.success", HttpStatus.OK); // 로그아웃 성공
+    LOGOUT_SUCCESS("user.logout.success", HttpStatus.OK), // 로그아웃 성공
+
+    // 파일 관련
+    FILE_UPLOAD_FAIL("file.upload_fail", HttpStatus.INTERNAL_SERVER_ERROR); // 파일 업로드 실패
 
     private final String messageKey;   //  메시지
     private final HttpStatus status;    // HTTP 상태
src/main/resources/message/messages_en.yml
--- src/main/resources/message/messages_en.yml
+++ src/main/resources/message/messages_en.yml
@@ -52,4 +52,8 @@
     account_expired: "Account has expired."
     credentials_expired: "Password has expired."
   logout:
-    success: "You have been logged out."
(파일 끝에 줄바꿈 문자 없음)
+    success: "You have been logged out."
+
+# 파일 관련
+file:
+  upload_fail: "File upload failed."
(파일 끝에 줄바꿈 문자 없음)
src/main/resources/message/messages_ko.yml
--- src/main/resources/message/messages_ko.yml
+++ src/main/resources/message/messages_ko.yml
@@ -53,3 +53,7 @@
     credentials_expired: "계정 비밀번호 유효기간이 만료되었습니다."
   logout:
     success: "로그아웃 되었습니다."
+
+# 파일 관련
+file:
+  upload_fail: "파일 업로드에 실패했습니다."
(파일 끝에 줄바꿈 문자 없음)
Add a comment
List