하석형 하석형 03-23
250322 하석형 게시판유형/게시판댓글/금지어 관련 throws Exception -> try catch 변경
@79b2e865771b16dfc9d21d02bb49ce6399c05947
src/main/java/com/takensoft/cms/bbs/dao/BbsMngDAO.java
--- src/main/java/com/takensoft/cms/bbs/dao/BbsMngDAO.java
+++ src/main/java/com/takensoft/cms/bbs/dao/BbsMngDAO.java
@@ -8,13 +8,6 @@
 import java.util.*;
 
 /**
- * @author  : 박정하
- * @since   : 2024.05.08
- *
- * 게시판 관리 관련 Mapper
- */
-
-/**
  * @author 박정하
  * @since 2024.05.08
  * @modification
src/main/java/com/takensoft/cms/bbs/dao/BbsRouterDAO.java
--- src/main/java/com/takensoft/cms/bbs/dao/BbsRouterDAO.java
+++ src/main/java/com/takensoft/cms/bbs/dao/BbsRouterDAO.java
@@ -8,16 +8,20 @@
 import java.util.List;
 
 /**
- * @author  : 하석형
- * @since   : 2024.05.09
+ * @author takensoft
+ * @since 2024.05.16
+ * @modification
+ *     since    |    author    | description
+ *  2024.05.16  |  takensoft   | 최초 등록
+ *  2025.03.21  |    하석형     | 코드 리펙토링
  *
- * 게시판 내용 관련 Mapper
+ * 게시판 라우터 관련 DAO
  */
 @Mapper("bbsRouterDAO")
 public interface BbsRouterDAO {
     /**
-     * @author  takensoft
-     * @since   2024.05.16
+     * @return List<ContsAuthrtVO> - 콘텐츠 유형과 권한 정보 목록
+     *
      * 게시판 라우터 정보 호출
      */
     List<ContsAuthrtVO> findByBbsRouterAuthrt();
src/main/java/com/takensoft/cms/bbs/dao/BbsTypeMngDAO.java
--- src/main/java/com/takensoft/cms/bbs/dao/BbsTypeMngDAO.java
+++ src/main/java/com/takensoft/cms/bbs/dao/BbsTypeMngDAO.java
@@ -7,31 +7,39 @@
 import java.util.List;
 
 /**
- * @author  : 박정하
- * @since   : 2024.05.08
+ * @author 박정하
+ * @since 2024.05.08
+ * @modification
+ *     since    |    author    | description
+ *  2024.05.08  |    박정하     | 최초 등록
+ *  2024.05.13  |    하석형     | findAll, findByBbsTypeId 추가
+ *  2025.03.21  |    하석형     | 코드 리펙토링
  *
- * 게시판 유형 관리 관련 Mapper
+ * 게시판 유형 관리 관련 DAO
  */
 @Mapper("bbsTypeMngDAO")
 public interface BbsTypeMngDAO {
     /**
-     * @author  박정하
-     * @since   2024.05.08
+     * @param bbsTypeMngVO - 게시판 유형 관리 정보
+     * @return int - 게시판 유형 관리 등록 결과
+     *
      * 게시판 유형 관리 등록
      */
-    public int insertBbsTypeMng(BbsTypeMngVO bbsTypeMngVO) throws Exception;
+    public int insertBbsTypeMng(BbsTypeMngVO bbsTypeMngVO);
 
     /**
-     * @author  하석형
-     * @since   2024.05.13
+     * @param bbsTypeMngVO - 게시판 유형 관리 정보
+     * @return List<BbsTypeMngVO> - 게시판 유형 관리 정보를 담고 있는 객체 목록
+     *
      * 게시판 유형 관리 목록 조회
      */
-    public List<BbsTypeMngVO> findAll(BbsTypeMngVO bbsTypeMngVO) throws Exception;
+    public List<BbsTypeMngVO> findAll(BbsTypeMngVO bbsTypeMngVO);
 
     /**
-     * @author  하석형
-     * @since   2024.05.13
+     * @param bbsTypeId - 게시판 유형 아이디
+     * @return BbsTypeMngVO - 게시판 유형 관리 정보를 담고 있는 객체
+     *
      * 게시판 유형 관리 상세 조회
      */
-    public BbsTypeMngVO findByBbsTypeId(String bbsTypeId) throws Exception;
+    public BbsTypeMngVO findByBbsTypeId(String bbsTypeId);
 }
src/main/java/com/takensoft/cms/bbs/dao/CmntDAO.java
--- src/main/java/com/takensoft/cms/bbs/dao/CmntDAO.java
+++ src/main/java/com/takensoft/cms/bbs/dao/CmntDAO.java
@@ -6,12 +6,15 @@
 import java.util.List;
 
 /**
- * @author  : 방선주
- * @since   : 2024.05.27
+ * @author 방선주
+ * @since 2024.05.27
+ * @modification
+ *     since    |    author    | description
+ *  2024.05.27  |    방선주     | 최초 등록
+ *  2025.03.21  |    하석형     | 코드 리펙토링
  *
  * 게시판 댓글 관련 DAO
  */
-
 @Mapper("cmntDAO")
 public interface CmntDAO {
     /**
@@ -19,35 +22,35 @@
      * @since   2024.05.27
      * 게시판 댓글 등록
      */
-    public int saveCmnt(CmntVO cmntVO) throws Exception;
+    public int saveCmnt(CmntVO cmntVO);
     /**
      * @author  방선주
      * @since   2024.05.27
      * 게시판 댓글 카운트 조회
      */
-    public int getCmntCount(CmntVO cmntVO) throws Exception;
+    public int getCmntCount(CmntVO cmntVO);
     /**
      * @author  방선주
      * @since   2024.05.27
      * 부모 댓글 조회
      */
-    public CmntVO findParentCmnt(int upCmntId) throws Exception;
+    public CmntVO findParentCmnt(int upCmntId);
     /**
      * @author  방선주
      * @since   2024.05.27
      * 게시판 댓글 목록 조회
      */
-    public List<CmntVO> findCmntList(String bbsId) throws Exception;
+    public List<CmntVO> findCmntList(String bbsId);
     /**
      * @author  방선주
      * @since   2024.05.27
      * 게시판 댓글 업데이트
      */
-    public int updateCmnt(CmntVO cmntVO) throws Exception;
+    public int updateCmnt(CmntVO cmntVO);
     /**
      * @author  방선주
      * @since   2024.05.27
      * 게시판 삭제
      */
-    public int deleteCmnt(CmntVO cmntVO) throws Exception;
+    public int deleteCmnt(CmntVO cmntVO);
 }
src/main/java/com/takensoft/cms/bbs/dao/WordMngDAO.java
--- src/main/java/com/takensoft/cms/bbs/dao/WordMngDAO.java
+++ src/main/java/com/takensoft/cms/bbs/dao/WordMngDAO.java
@@ -7,20 +7,54 @@
 import java.util.List;
 
 /**
- * @author  : 하석형
- * @since   : 2024.05.31
+ * @author 방선주
+ * @since 2024.05.31
+ * @modification
+ *     since    |    author    | description
+ *  2024.05.31  |    방선주     | 최초 등록
+ *  2025.03.21  |    하석형     | 코드 리펙토링
  *
- * 금지어 관련 Mapper
+ * 금지어 관련 DAO
  */
 @Mapper("wordMngDAO")
 public interface WordMngDAO {
-    public int saveWords(WordMngVO wordMngVO) throws Exception;
 
-    public List<WordMngVO> findAllWord(Pagination search) throws Exception;
+    /**
+     * @param wordMngVO - 금지어 정보
+     * @return int - 금지어 등록 결과
+     *
+     * 금지어 등록
+     */
+    public int saveWords(WordMngVO wordMngVO);
 
-    public int findAllCnt(Pagination search) throws Exception;
+    /**
+     * @param pagination - 페이징 정보
+     * @return List<WordMngVO> - 금지어 정보를 담고 있는 객체 목록
+     *
+     * 금지어 목록 조회
+     */
+    public List<WordMngVO> findAllWord(Pagination pagination);
 
-    public int deleteWords(int word) throws Exception;
+    /**
+     * @param pagination - 페이징 정보
+     * @return int - 금지어 목록 조회 개수
+     *
+     * 금지어 목록 조회 개수
+     */
+    public int findAllCnt(Pagination pagination);
 
+    /**
+     * @param cntrlNmId - 금지어 아이디
+     * @return int - 금지어 삭제 결과
+     *
+     * 금지어 삭제
+     */
+    public int deleteWords(int cntrlNmId);
+
+    /**
+     * @return List<String> - 금지어 목록
+     *
+     * 전체 금지어 목록 조회
+     */
     public List<String> findWordList();
 }
src/main/java/com/takensoft/cms/bbs/service/BbsTypeMngService.java
--- src/main/java/com/takensoft/cms/bbs/service/BbsTypeMngService.java
+++ src/main/java/com/takensoft/cms/bbs/service/BbsTypeMngService.java
@@ -1,36 +1,49 @@
 package com.takensoft.cms.bbs.service;
 
 import com.takensoft.cms.bbs.vo.BbsTypeMngVO;
+import com.takensoft.common.exception.CustomInsertFailException;
+import org.springframework.dao.DataAccessException;
 
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
 /**
- * @author  : 박정하
- * @since   : 2024.05.08
+ * @author 박정하
+ * @since 2024.05.08
+ * @modification
+ *     since    |    author    | description
+ *  2024.05.08  |    박정하     | 최초 등록
+ *  2024.05.13  |    하석형     | findAllBbsTypeMng, findByBbsTypeId 추가
+ *  2025.03.21  |    하석형     | 코드 리펙토링
  *
  * 게시판 유형 관리 관련 인터페이스
  */
 public interface BbsTypeMngService {
     /**
-     * @author  박정하
-     * @since   2024.05.08
+     * @param bbsTypeMngVO - 게시판 유형 관리 정보
+     * @return HashMap<String, Object>
+     *  - bbsTypeMngId : 게시판 유형 관리 아이디
+     *  - result : 게시판 유형 관리 등록 결과
+     *
      * 게시판 유형 관리 등록
      */
-    public HashMap<String, Object> insertBbsTypeMng(BbsTypeMngVO bbsTypeMngVO) throws Exception;
+    public HashMap<String, Object> insertBbsTypeMng(BbsTypeMngVO bbsTypeMngVO);
 
     /**
-     * @author  하석형
-     * @since   2024.05.13
+     * @param bbsTypeMngVO - 게시판 유형 관리 정보
+     * @return Map<String, Object>
+     *  - list : 게시판 유형 관리 정보를 담고 있는 객체 목록
+     *
      * 게시판 유형 관리 목록 조회
      */
-    public Map<String, Object> findAllBbsTypeMng(BbsTypeMngVO bbsTypeMngVO) throws Exception;
+    public Map<String, Object> findAllBbsTypeMng(BbsTypeMngVO bbsTypeMngVO);
 
     /**
-     * @author  하석형
-     * @since   2024.05.13
+     * @param bbsTypeId - 게시판 유형 아이디
+     * @return BbsTypeMngVO - 게시판 유형 관리 정보를 담고 있는 객체
+     *
      * 게시판 유형 관리 상세 조회
      */
-    public BbsTypeMngVO findByBbsTypeId(String bbsTypeId) throws Exception;
+    public BbsTypeMngVO findByBbsTypeId(String bbsTypeId);
 }
src/main/java/com/takensoft/cms/bbs/service/CmntService.java
--- src/main/java/com/takensoft/cms/bbs/service/CmntService.java
+++ src/main/java/com/takensoft/cms/bbs/service/CmntService.java
@@ -1,23 +1,54 @@
 package com.takensoft.cms.bbs.service;
 
 import com.takensoft.cms.bbs.vo.CmntVO;
+import com.takensoft.common.exception.*;
+import org.springframework.dao.DataAccessException;
 
 import java.util.HashMap;
 import java.util.List;
 
 /**
- * @author  : 방선주
- * @since   : 2024.05.27
+ * @author 방선주
+ * @since 2024.05.27
+ * @modification
+ *     since    |    author    | description
+ *  2024.05.27  |    방선주     | 최초 등록
+ *  2025.03.21  |    하석형     | 코드 리펙토링
  *
- * 게시판 댓글 관련 Service
+ * 게시판 댓글 관련 인터페이스
  */
 public interface CmntService {
-    // 댓글 등록
-    public HashMap<String, Object> saveCmnt(CmntVO cmntVO) throws Exception;
-    // 댓글 목록 조회
-    public List<CmntVO> findCmntList(String bbsId) throws Exception;
-    // 댓글 업데이트
-    public HashMap<String, Object> updateCmnt(CmntVO cmntVO) throws Exception;
+    /**
+     * @param cmntVO - 게시판 댓글 정보
+     * @return HashMap<String, Object>
+     *  - result : 게시판 댓글 등록 결과
+     *
+     * 게시판 댓글 등록
+     */
+    public HashMap<String, Object> saveCmnt(CmntVO cmntVO);
 
-    public int deleteCmnt(CmntVO cmntVO) throws Exception;
+    /**
+     * @param bbsId - 게시판 아이디
+     * @return List<CmntVO> - 게시판 댓글 목록
+     *
+     * 게시판 댓글 목록 조회
+     */
+    public List<CmntVO> findCmntList(String bbsId);
+
+    /**
+     * @param cmntVO - 게시판 댓글 정보
+     * @return HashMap<String, Object>
+     *  - result : 게시판 댓글 수정 결과
+     *
+     * 게시판 댓글 수정
+     */
+    public HashMap<String, Object> updateCmnt(CmntVO cmntVO);
+
+    /**
+     * @param cmntVO - 게시판 댓글 정보
+     * @return int - 게시판 댓글 삭제 결과
+     *
+     * 게시판 댓글 삭제
+     */
+    public int deleteCmnt(CmntVO cmntVO);
 }
src/main/java/com/takensoft/cms/bbs/service/Impl/BbsTypeMngServiceImpl.java
--- src/main/java/com/takensoft/cms/bbs/service/Impl/BbsTypeMngServiceImpl.java
+++ src/main/java/com/takensoft/cms/bbs/service/Impl/BbsTypeMngServiceImpl.java
@@ -3,23 +3,34 @@
 import com.takensoft.cms.bbs.dao.BbsTypeMngDAO;
 import com.takensoft.cms.bbs.service.BbsTypeMngService;
 import com.takensoft.cms.bbs.vo.BbsTypeMngVO;
+import com.takensoft.common.exception.CustomDataDuplicationException;
+import com.takensoft.common.exception.CustomInsertFailException;
+import com.takensoft.common.exception.CustomNotFoundException;
 import com.takensoft.common.idgen.service.IdgenService;
 import com.takensoft.common.util.JWTUtil;
 import lombok.RequiredArgsConstructor;
 import org.egovframe.rte.fdl.cmmn.EgovAbstractServiceImpl;
+import org.springframework.dao.DataAccessException;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
 /**
- * @author  : 박정하
- * @since   : 2024.05.08
+ * @author 박정하
+ * @since 2024.05.08
+ * @modification
+ *     since    |    author    | description
+ *  2024.05.08  |    박정하     | 최초 등록
+ *  2024.05.13  |    하석형     | findAllBbsTypeMng, findByBbsTypeId 추가
+ *  2025.03.21  |    하석형     | 코드 리펙토링
  *
- * 게시판 유형 관리 관련 구현체
  * EgovAbstractServiceImpl : 전자정부 상속
- * BbsTypeMngService : 게시판 유형 관리 인터페이스 상속
+ * BbsTypeMngService : 게시판 유형 관리 관련 인터페이스 상속
+ *
+ * 게시판 유형 관리 관련 인터페이스 구현체
  */
 @Service("bbsTypeMngService")
 @RequiredArgsConstructor
@@ -29,48 +40,89 @@
     private final JWTUtil jwtUtil;
 
     /**
-     * @author  박정하
-     * @since   2024.05.08
+     * @param bbsTypeMngVO - 게시판 유형 관리 정보
+     * @return HashMap<String, Object>
+     *  - bbsTypeMngId : 게시판 유형 관리 아이디
+     *  - result : 게시판 유형 관리 등록 결과
+     * @throws CustomInsertFailException - 게시판 유형 관리 등록 실패 시
+     * @throws DataAccessException - db 관련 예외 발생 시
+     * @throws Exception - 그 외 예외 발생 시
+     *
      * 게시판 유형 관리 등록
      */
-    public HashMap<String, Object> insertBbsTypeMng(BbsTypeMngVO bbsTypeMngVO) throws Exception {
-        HashMap<String, Object> result = new HashMap<>();
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public HashMap<String, Object> insertBbsTypeMng(BbsTypeMngVO bbsTypeMngVO) {
+        try {
+            HashMap<String, Object> result = new HashMap<>();
 
-        // 게시판 유형 아이디 생성
-        String bbsTypeMngId = bbsTypeIdgn.getNextStringId();
-        bbsTypeMngVO.setBbsTypeId(bbsTypeMngId);
+            // 게시판 유형 아이디 생성
+            String bbsTypeMngId = bbsTypeIdgn.getNextStringId();
+            bbsTypeMngVO.setBbsTypeId(bbsTypeMngId);
 
-        // 등록된 토큰에서 사용자 정보 조회
-        String writer = jwtUtil.getWriter();
-        bbsTypeMngVO.setRgtr(writer);
+            // 등록된 토큰에서 사용자 정보 조회
+            String writer = jwtUtil.getWriter();
+            if (writer == null || writer.isEmpty()) {
+                throw new CustomNotFoundException("사용자 정보 조회에 실패했습니다.");
+            }
+            bbsTypeMngVO.setRgtr(writer);
 
-        // 게시판 관리 등록
-        int insertResult = bbsTypeMngDAO.insertBbsTypeMng(bbsTypeMngVO);
+            // 게시판 관리 등록
+            int insertResult = bbsTypeMngDAO.insertBbsTypeMng(bbsTypeMngVO);
+            if(insertResult == 0) {
+                throw new CustomInsertFailException("게시판 유형 관리 등록에 실패했습니다.");
+            }
 
-        result.put("bbsTypeMngId", bbsTypeMngId);
-        result.put("result", insertResult);
-        return result;
+            result.put("bbsTypeMngId", bbsTypeMngId);
+            result.put("result", insertResult);
+            return result;
+        } catch (DataAccessException dae) {
+            throw dae;
+        } catch (Exception e) {
+            throw e;
+        }
     }
 
     /**
-     * @author  하석형
-     * @since   2024.05.13
+     * @param bbsTypeMngVO - 게시판 유형 관리 정보
+     * @return Map<String, Object>
+     *  - list : 게시판 유형 관리 정보를 담고 있는 객체 목록
+     * @throws DataAccessException - db 관련 예외 발생 시
+     * @throws Exception - 그 외 예외 발생 시
+     *
      * 게시판 유형 관리 목록 조회
      */
-    public Map<String, Object> findAllBbsTypeMng(BbsTypeMngVO bbsTypeMngVO) throws Exception {
-        Map<String, Object> result = new HashMap<>();
+    @Override
+    public Map<String, Object> findAllBbsTypeMng(BbsTypeMngVO bbsTypeMngVO) {
+        try {
+            Map<String, Object> result = new HashMap<>();
 
-        List<BbsTypeMngVO> list = bbsTypeMngDAO.findAll(bbsTypeMngVO);
-        result.put("list", list);
-        return result;
+            List<BbsTypeMngVO> list = bbsTypeMngDAO.findAll(bbsTypeMngVO);
+            result.put("list", list);
+            return result;
+        } catch (DataAccessException dae) {
+            throw dae;
+        } catch (Exception e) {
+            throw e;
+        }
     }
 
     /**
-     * @author  하석형
-     * @since   2024.05.13
+     * @param bbsTypeId - 게시판 유형 아이디
+     * @return BbsTypeMngVO - 게시판 유형 관리 정보를 담고 있는 객체
+     * @throws DataAccessException - db 관련 예외 발생 시
+     * @throws Exception - 그 외 예외 발생 시
+     *
      * 게시판 유형 관리 상세 조회
      */
-    public BbsTypeMngVO findByBbsTypeId(String bbsTypeId) throws Exception {
-        return bbsTypeMngDAO.findByBbsTypeId(bbsTypeId);
+    @Override
+    public BbsTypeMngVO findByBbsTypeId(String bbsTypeId) {
+        try {
+            return bbsTypeMngDAO.findByBbsTypeId(bbsTypeId);
+        } catch (DataAccessException dae) {
+            throw dae;
+        } catch (Exception e) {
+            throw e;
+        }
     }
 }
src/main/java/com/takensoft/cms/bbs/service/Impl/CmntServiceImpl.java
--- src/main/java/com/takensoft/cms/bbs/service/Impl/CmntServiceImpl.java
+++ src/main/java/com/takensoft/cms/bbs/service/Impl/CmntServiceImpl.java
@@ -4,10 +4,13 @@
 import com.takensoft.cms.bbs.dao.WordMngDAO;
 import com.takensoft.cms.bbs.service.CmntService;
 import com.takensoft.cms.bbs.vo.CmntVO;
+import com.takensoft.common.exception.*;
 import com.takensoft.common.util.JWTUtil;
 import lombok.RequiredArgsConstructor;
 import org.egovframe.rte.fdl.cmmn.EgovAbstractServiceImpl;
+import org.springframework.dao.DataAccessException;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -15,12 +18,17 @@
 import java.util.Map;
 
 /**
- * @author  : 방선주
- * @since   : 2024.05.27
+ * @author 방선주
+ * @since 2024.05.27
+ * @modification
+ *     since    |    author    | description
+ *  2024.05.27  |    방선주     | 최초 등록
+ *  2025.03.21  |    하석형     | 코드 리펙토링
  *
- * 게시판 댓글 관련 구현체
  * EgovAbstractServiceImpl : 전자정부 상속
- * CmntService : 게시판 댓글 인터페이스 상속
+ * CmntService : 게시판 댓글 관련 인터페이스 상속
+ *
+ * 게시판 댓글 관련 인터페이스 구현체
  */
 @Service("cmntService")
 @RequiredArgsConstructor
@@ -31,62 +39,83 @@
     private final WordMngDAO wordMngDAO;
 
     /**
-     * @author 방선주
-     * @since  2024.05.27
+     * @param cmntVO - 게시판 댓글 정보
+     * @return HashMap<String, Object>
+     *  - result : 게시판 댓글 등록 결과
+     * @throws CustomPrhibtWordException - 금지어 포함 예외 발생 시
+     * @throws CustomNotFoundException - 사용자 정보 조회 예외 발생 시
+     * @throws CustomInsertFailException - 게시판 댓글 등록 예외 발생 시
+     * @throws DataAccessException - db 관련 예외 발생 시
+     * @throws Exception - 그 외 예외 발생 시
      *
      * 게시판 댓글 등록
      */
-    public HashMap<String, Object> saveCmnt(CmntVO cmntVO) throws Exception {
-        HashMap<String, Object> result = new HashMap<>();
-        List<String> wordList = wordMngDAO.findWordList();
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public HashMap<String, Object> saveCmnt(CmntVO cmntVO) {
+        try {
+            HashMap<String, Object> result = new HashMap<>();
+            List<String> wordList = wordMngDAO.findWordList();
 
-        // 내용에 금지어가 포함되어있는가?
-        String content = cmntVO.getCmntCn();
-        for (String word : wordList) {
-            if (content.contains(word)) {
-                result.put("result", -1);
-                result.put("word", word);
-                return result;
+            // 내용에 금지어가 포함되어있는가?
+            String content = cmntVO.getCmntCn();
+            for (String word : wordList) {
+                if (content.contains(word)) {
+                    throw new CustomPrhibtWordException("내용에 금지어가 포함되어있습니다.", word);
+                }
             }
-        }
 
-        // 등록된 토큰에서 사용자 정보 조회
-        String writer = jwtUtil.getWriter();
-        if(writer == null) {
-            result.put("result", -2);
+            // 등록된 토큰에서 사용자 정보 조회
+            String writer = jwtUtil.getWriter();
+            if (writer == null || writer.isEmpty()) {
+                throw new CustomNotFoundException("사용자 정보 조회에 실패했습니다.");
+            }
+            cmntVO.setRgtr(writer);
+
+            // 댓글 깊이
+            // 부모의 깊이 가져와 +1
+
+            if (cmntVO.getUpCmntId() != 0) {
+                CmntVO parentCmnt = cmntDAO.findParentCmnt(cmntVO.getUpCmntId());
+                cmntVO.setCmntGrd(parentCmnt.getCmntGrd() + 1);
+            }
+
+            // 댓글 순서
+            int count = cmntDAO.getCmntCount(cmntVO);
+            cmntVO.setCmntSn(count + 1);
+
+            int saveResult = cmntDAO.saveCmnt(cmntVO);
+            if (saveResult == 0) {
+                throw new CustomInsertFailException("게시판 댓글 등록에 실패했습니다.");
+            }
+            result.put("result", saveResult);
+
             return result;
+        } catch (DataAccessException dae) {
+            throw dae;
+        } catch (Exception e) {
+            throw e;
         }
-
-        cmntVO.setRgtr(writer);
-
-        // 댓글 깊이
-        // 부모의 깊이 가져와 +1
-
-        if (cmntVO.getUpCmntId() != 0) {
-            CmntVO parentCmnt = cmntDAO.findParentCmnt(cmntVO.getUpCmntId());
-            cmntVO.setCmntGrd(parentCmnt.getCmntGrd() + 1);
-        }
-
-        // 댓글 순서
-        int count = cmntDAO.getCmntCount(cmntVO);
-        cmntVO.setCmntSn(count + 1);
-
-
-        result.put("result", cmntDAO.saveCmnt(cmntVO));
-
-        return result;
     }
 
     /**
-     * @author 방선주
-     * @since  2024.05.27
+     * @param bbsId - 게시판 아이디
+     * @return List<CmntVO> - 게시판 댓글 목록
+     * @throws DataAccessException - db 관련 예외 발생 시
+     * @throws Exception - 그 외 예외 발생 시
      *
      * 게시판 댓글 목록 조회
      */
-    public List<CmntVO> findCmntList(String bbsId) throws Exception {
-
-        List<CmntVO> flatCommentList = cmntDAO.findCmntList(bbsId);
-        return buildCommentTree(flatCommentList);
+    @Override
+    public List<CmntVO> findCmntList(String bbsId) {
+        try {
+            List<CmntVO> flatCommentList = cmntDAO.findCmntList(bbsId);
+            return buildCommentTree(flatCommentList);
+        } catch (DataAccessException dae) {
+            throw dae;
+        } catch (Exception e) {
+            throw e;
+        }
     }
 
     private List<CmntVO> buildCommentTree(List<CmntVO> comments) {
@@ -111,49 +140,88 @@
 
         return rootComments; // 최상위 댓글 리스트 반환
     }
+
     /**
-     * @author 방선주
-     * @since  2024.05.27
+     * @param cmntVO - 게시판 댓글 정보
+     * @return HashMap<String, Object>
+     *  - result : 게시판 댓글 수정 결과
+     * @throws CustomPrhibtWordException - 금지어 포함 예외 발생 시
+     * @throws CustomNotFoundException - 사용자 정보 조회 예외 발생 시
+     * @throws CustomUpdateFailException - 게시판 댓글 수정 예외 발생 시
+     * @throws DataAccessException - db 관련 예외 발생 시
+     * @throws Exception - 그 외 예외 발생 시
      *
-     * 게시판 댓글 업데이트
+     * 게시판 댓글 수정
      */
-    public HashMap<String, Object> updateCmnt(CmntVO cmntVO) throws Exception {
-        HashMap<String, Object> result = new HashMap<>();
-        List<String> wordList = wordMngDAO.findWordList();
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public HashMap<String, Object> updateCmnt(CmntVO cmntVO) {
+        try {
+            HashMap<String, Object> result = new HashMap<>();
+            List<String> wordList = wordMngDAO.findWordList();
 
-        // 내용에 금지어가 포함되어있는가?
-        String content = cmntVO.getCmntCn();
-        for (String word : wordList) {
-            if (content.contains(word)) {
-                result.put("result", -1);
-                result.put("word", word);
-                return result;
+            // 내용에 금지어가 포함되어있는가?
+            String content = cmntVO.getCmntCn();
+            for (String word : wordList) {
+                if (content.contains(word)) {
+                    throw new CustomPrhibtWordException("내용에 금지어가 포함되어있습니다.", word);
+                }
             }
+
+            // 등록된 토큰에서 사용자 정보 조회
+            String writer = jwtUtil.getWriter();
+            if (writer == null || writer.isEmpty()) {
+                throw new CustomNotFoundException("사용자 정보 조회에 실패했습니다.");
+            }
+            cmntVO.setMdfr(writer);
+
+            int updateResult = cmntDAO.updateCmnt(cmntVO);
+            if (updateResult == 0) {
+                throw new CustomUpdateFailException("게시판 댓글 수정에 실패했습니다.");
+            }
+            result.put("result", updateResult);
+
+            return result;
+        } catch (DataAccessException dae) {
+            throw dae;
+        } catch (Exception e) {
+            throw e;
         }
-
-        // 등록된 토큰에서 사용자 정보 조회
-        String writer = jwtUtil.getWriter();
-        cmntVO.setMdfr(writer);
-
-        result.put("result", cmntDAO.updateCmnt(cmntVO));
-
-        return result;
     }
 
     /**
-     * @author 방선주
-     * @since  2024.05.27
+     * @param cmntVO - 게시판 댓글 정보
+     * @return int - 게시판 댓글 삭제 결과
+     * @throws CustomNotFoundException - 사용자 정보 조회 예외 발생 시
+     * @throws CustomDeleteFailException - 게시판 댓글 삭제 예외 발생 시
+     * @throws DataAccessException - db 관련 예외 발생 시
+     * @throws Exception - 그 외 예외 발생 시
      *
      * 게시판 댓글 삭제
      */
-    public int deleteCmnt(CmntVO cmntVO) throws Exception {
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public int deleteCmnt(CmntVO cmntVO) {
+        try {
+            // 등록된 토큰에서 사용자 정보 조회
+            String writer = jwtUtil.getWriter();
+            if (writer == null || writer.isEmpty()) {
+                throw new CustomNotFoundException("사용자 정보 조회에 실패했습니다.");
+            }
+            cmntVO.setMdfr(writer);
 
-        // 등록된 토큰에서 사용자 정보 조회
-        String writer = jwtUtil.getWriter();
-        cmntVO.setMdfr(writer);
+            cmntVO.setUseYn("N");
 
-        cmntVO.setUseYn("N");
+            int result = cmntDAO.deleteCmnt(cmntVO);
+            if (result == 0) {
+                throw new CustomDeleteFailException("게시판 댓글 삭제에 실패했습니다.");
+            }
 
-        return cmntDAO.deleteCmnt(cmntVO);
+            return result;
+        } catch (DataAccessException dae) {
+            throw dae;
+        } catch (Exception e) {
+            throw e;
+        }
     }
 }
src/main/java/com/takensoft/cms/bbs/service/Impl/WordMngServiceImpl.java
--- src/main/java/com/takensoft/cms/bbs/service/Impl/WordMngServiceImpl.java
+++ src/main/java/com/takensoft/cms/bbs/service/Impl/WordMngServiceImpl.java
@@ -4,14 +4,29 @@
 import com.takensoft.cms.bbs.service.WordMngService;
 import com.takensoft.cms.bbs.vo.WordMngVO;
 import com.takensoft.common.Pagination;
+import com.takensoft.common.exception.*;
 import com.takensoft.common.util.JWTUtil;
 import lombok.RequiredArgsConstructor;
 import org.egovframe.rte.fdl.cmmn.EgovAbstractServiceImpl;
+import org.springframework.dao.DataAccessException;
 import org.springframework.stereotype.Service;
 
 import java.util.HashMap;
 import java.util.List;
 
+/**
+ * @author 방선주
+ * @since 2024.05.31
+ * @modification
+ *     since    |    author    | description
+ *  2024.05.31  |    방선주     | 최초 등록
+ *  2025.03.21  |    하석형     | 코드 리펙토링
+ *
+ * EgovAbstractServiceImpl : 전자정부 상속
+ * WordMngService : 금지어 관련 인터페이스 상속
+ *
+ * 금지어 관련 인터페이스 구현체
+ */
 @Service("WordMngService")
 @RequiredArgsConstructor
 public class WordMngServiceImpl extends EgovAbstractServiceImpl implements WordMngService {
@@ -20,64 +35,104 @@
     private final JWTUtil jwtUtil;
 
     /**
-     * @author 방선주
-     * @since  2024.05.31
+     * @param wordList - 금지어 목록 정보
+     * @return int - 금지어 등록 결과
+     * @throws CustomNotFoundException - 사용자 정보 조회 예외 발생 시
+     * @throws CustomInsertFailException - 금지어 등록 예외 발생 시
+     * @throws DataAccessException - db 관련 예외 발생 시
+     * @throws Exception - 그 외 예외 발생 시
      *
-     * 금지어 추가
+     * 금지어 등록
      */
     @Override
-    public int saveWords(HashMap<String, Object> wordList) throws Exception {
-        // 등록된 토큰에서 사용자 정보 조회
-        String writer = jwtUtil.getWriter();
+    public int saveWords(HashMap<String, Object> wordList) {
+        try {
+            // 등록된 토큰에서 사용자 정보 조회
+            String writer = jwtUtil.getWriter();
+            if (writer == null || writer.isEmpty()) {
+                throw new CustomNotFoundException("사용자 정보 조회에 실패했습니다.");
+            }
 
-        List<String> wordsArr = (List<String>) wordList.get("wordsArr");
-        // 금지어 등록
-        for (String word : wordsArr){
-            WordMngVO wordMngVO = new WordMngVO();
-            wordMngVO.setCntrlNm(word);
-            wordMngVO.setRgtr(writer);
-            wordMngDAO.saveWords(wordMngVO);
+            List<String> wordsArr = (List<String>) wordList.get("wordsArr");
+            // 금지어 등록
+            for (String word : wordsArr) {
+                WordMngVO wordMngVO = new WordMngVO();
+                wordMngVO.setCntrlNm(word);
+                wordMngVO.setRgtr(writer);
+                int result = wordMngDAO.saveWords(wordMngVO);
+                if(result == 0){
+                    throw new CustomInsertFailException("금지어 등록에 실패했습니다.");
+                }
+            }
+
+            return wordList.size();
+        } catch (DataAccessException dae) {
+            throw dae;
+        } catch (Exception e) {
+            throw e;
         }
-
-        return wordList.size();
     }
 
     /**
-     * @author 방선주
-     * @since  2024.05.31
+     * @param params - 금지어 정보
+     * @return HashMap<String, Object>
+     *  - wordList : 금지어 목록
+     *  - pagination : 페이징 정보
+     *  - wordsCnt : 금지어 개수
+     * @throws DataAccessException - db 관련 예외 발생 시
+     * @throws Exception - 그 외 예외 발생 시
      *
      * 금지어 목록 조회
      */
     @Override
-    public HashMap<String, Object> findAllWord(HashMap<String, String> params) throws Exception {
-        HashMap<String, Object> result = new HashMap<>();
+    public HashMap<String, Object> findAllWord(HashMap<String, String> params) {
+        try {
+            HashMap<String, Object> result = new HashMap<>();
 
-        Pagination search = new Pagination(0, params);
-        int cnt = wordMngDAO.findAllCnt(search);
-        Pagination pagination = new Pagination(cnt, params);
-        List<WordMngVO> wordList = wordMngDAO.findAllWord(pagination);
+            Pagination search = new Pagination(0, params);
+            int cnt = wordMngDAO.findAllCnt(search);
+            Pagination pagination = new Pagination(cnt, params);
+            List<WordMngVO> wordList = wordMngDAO.findAllWord(pagination);
 
-        result.put("wordList", wordList);
-        result.put("pagination", pagination);
-        result.put("wordsCnt", cnt);
+            result.put("wordList", wordList);
+            result.put("pagination", pagination);
+            result.put("wordsCnt", cnt);
 
-        return result;
+            return result;
+        } catch (DataAccessException dae) {
+            throw dae;
+        } catch (Exception e) {
+            throw e;
+        }
     }
+
     /**
-     * @author 방선주
-     * @since  2024.05.31
+     * @param params - 금지어 정보
+     * @return int - 금지어 삭제 결과
+     * @throws CustomDeleteFailException - 금지어 삭제 예외 발생 시
+     * @throws DataAccessException - db 관련 예외 발생 시
+     * @throws Exception - 그 외 예외 발생 시
      *
      * 금지어 삭제
      */
     @Override
-    public int deleteWords(HashMap<String, Object> params) throws Exception {
-        List<Integer> wordsArr = (List<Integer>) params.get("wordsArr");
+    public int deleteWords(HashMap<String, Object> params) {
+        try {
+            List<Integer> wordsArr = (List<Integer>) params.get("wordsArr");
 
-        // 금지어 id로 삭제
-        for (int cntrlNmId : wordsArr){
-            wordMngDAO.deleteWords(cntrlNmId);
+            // 금지어 id로 삭제
+            for (int cntrlNmId : wordsArr) {
+                int result = wordMngDAO.deleteWords(cntrlNmId);
+                if(result == 0){
+                    throw new CustomDeleteFailException("금지어 삭제에 실패했습니다.");
+                }
+            }
+
+            return wordsArr.size();
+        } catch (DataAccessException dae) {
+            throw dae;
+        } catch (Exception e) {
+            throw e;
         }
-
-        return wordsArr.size();
     }
 }
src/main/java/com/takensoft/cms/bbs/service/WordMngService.java
--- src/main/java/com/takensoft/cms/bbs/service/WordMngService.java
+++ src/main/java/com/takensoft/cms/bbs/service/WordMngService.java
@@ -1,18 +1,50 @@
 package com.takensoft.cms.bbs.service;
 
 import com.takensoft.cms.bbs.vo.WordMngVO;
+import com.takensoft.common.exception.CustomDeleteFailException;
+import com.takensoft.common.exception.CustomInsertFailException;
+import com.takensoft.common.exception.CustomNotFoundException;
+import org.springframework.dao.DataAccessException;
 
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
+/**
+ * @author 방선주
+ * @since 2024.05.31
+ * @modification
+ *     since    |    author    | description
+ *  2024.05.31  |    방선주     | 최초 등록
+ *  2025.03.21  |    하석형     | 코드 리펙토링
+ *
+ * 금지어 관련 인터페이스
+ */
 public interface WordMngService {
-    // 금지어 관리 등록
-    public int saveWords(HashMap<String, Object> wordList) throws Exception;
+    /**
+     * @param wordList - 금지어 목록 정보
+     * @return int - 금지어 등록 결과
+     *
+     * 금지어 등록
+     */
+    public int saveWords(HashMap<String, Object> wordList);
 
-    // 금지어 관리 목록 조회
-    public HashMap<String, Object> findAllWord(HashMap<String, String> params) throws Exception;
+    /**
+     * @param params - 금지어 정보
+     * @return HashMap<String, Object>
+     *  - wordList : 금지어 목록
+     *  - pagination : 페이징 정보
+     *  - wordsCnt : 금지어 개수
+     *
+     * 금지어 목록 조회
+     */
+    public HashMap<String, Object> findAllWord(HashMap<String, String> params);
 
-    // 금지어 관리 삭제
-    public int deleteWords(HashMap<String, Object> params) throws Exception;
+    /**
+     * @param params - 금지어 정보
+     * @return int - 금지어 삭제 결과
+     *
+     * 금지어 삭제
+     */
+    public int deleteWords(HashMap<String, Object> params);
 }
src/main/java/com/takensoft/cms/bbs/vo/WordMngVO.java
--- src/main/java/com/takensoft/cms/bbs/vo/WordMngVO.java
+++ src/main/java/com/takensoft/cms/bbs/vo/WordMngVO.java
@@ -11,7 +11,7 @@
  *  2024.05.31  |    방선주     | 최초 등록
  *  2025.03.20  |    하석형     | 코드 리펙토링
  *
- * 금지단어 관련 VO
+ * 금지어 관련 VO
  */
 @Setter
 @Getter
src/main/java/com/takensoft/cms/bbs/web/BbsTypeMngController.java
--- src/main/java/com/takensoft/cms/bbs/web/BbsTypeMngController.java
+++ src/main/java/com/takensoft/cms/bbs/web/BbsTypeMngController.java
@@ -17,12 +17,15 @@
 
 import java.nio.charset.Charset;
 import java.util.*;
+
 /**
  * @author 박정하
  * @since 2024.05.08
  * @modification
  *     since    |    author    | description
  *  2024.05.08  |    박정하     | 최초 등록
+ *  2024.05.13  |    하석형     | findAll 추가
+ *  2025.03.21  |    하석형     | 코드 리펙토링
  *
  * 게시판 유형 관리 관련 컨트롤러
  */
@@ -35,37 +38,21 @@
     private final BbsTypeMngService bbsTypeMngService;
 
     /**
-     * @author  박정하
-     * @since   2024.05.08
-     * @param   bbsTypeMngVO
-     * @return
-     * @throws  Exception
+     * @param bbsTypeMngVO - 게시판 유형 관리 정보
+     * @return ResponseEntity - 게시판 유형 관리 등록 결과를 포함하는 응답
      *
      * 게시판 유형 관리 등록
      */
     @PostMapping("/insertBbsTypeMng.json")
-    public ResponseEntity<?> insertBbsTypeMng(@RequestBody BbsTypeMngVO bbsTypeMngVO) throws Exception {
+    public ResponseEntity<?> insertBbsTypeMng(@RequestBody BbsTypeMngVO bbsTypeMngVO) {
         // 게시판 관리 등록
         HashMap<String, Object> result = bbsTypeMngService.insertBbsTypeMng(bbsTypeMngVO);
-        int insertResult = (int) result.get("result");
-
-        // 응답 처리
-        HttpHeaders headers = new HttpHeaders();
-        headers.setContentType(new MediaType("application", "json", Charset.forName("UTF-8")));
-        ResponseData responseData = new ResponseData();
-        if(insertResult > 0) {
-            return resUtil.successRes(result, MessageCode.COMMON_SUCCESS);
-        } else {
-            return resUtil.errorRes(MessageCode.COMMON_INSERT_FAIL);
-        }
+        return resUtil.successRes(result, MessageCode.COMMON_SUCCESS);
     }
 
     /**
-     * @author  하석형
-     * @since   2024.05.13
-     * @param   bbsTypeMngVO
-     * @return
-     * @throws  Exception
+     * @param bbsTypeMngVO - 게시판 유형 관리 정보
+     * @return ResponseEntity - 게시판 유형 관리 목록 조회 결과를 포함하는 응답
      *
      * 게시판 유형 관리 목록 조회
      */
@@ -73,8 +60,6 @@
     public ResponseEntity<?> findAll(@RequestBody BbsTypeMngVO bbsTypeMngVO) throws Exception{
         // 게시판 유형 관리 목록 조회
         Map<String, Object> result = bbsTypeMngService.findAllBbsTypeMng(bbsTypeMngVO);
-
-        // 응답처리
         return resUtil.successRes(result, MessageCode.COMMON_SUCCESS);
     }
 }
src/main/java/com/takensoft/cms/bbs/web/CmntController.java
--- src/main/java/com/takensoft/cms/bbs/web/CmntController.java
+++ src/main/java/com/takensoft/cms/bbs/web/CmntController.java
@@ -20,14 +20,16 @@
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+
 /**
  * @author 방선주
  * @since 2024.05.27
  * @modification
  *     since    |    author    | description
  *  2024.05.27  |    방선주     | 최초 등록
+ *  2025.03.21  |    하석형     | 코드 리펙토링
  *
- * 게시판 댓글 관련 Controller
+ * 게시판 댓글 관련 컨트롤러
  */
 @RestController
 @RequiredArgsConstructor
@@ -37,58 +39,30 @@
 
     private final CmntService cmntService;
     private final ResponseUtil resUtil;
+
     /**
-     * @author  방선주
-     * @since   2024.05.27
-     * @param   cmntVO
-     * @return
-     * @throws  Exception
+     * @param cmntVO - 게시판 댓글 정보
+     * @return ResponseEntity - 게시판 댓글 등록 결과를 포함하는 응답
      *
-     * 댓글 등록
+     * 게시판 댓글 등록
      */
     @PostMapping("/saveProc.json")
-    public ResponseEntity<?> saveProc(@RequestBody CmntVO cmntVO) throws Exception {
-        // 응답 처리
-        HttpHeaders headers = new HttpHeaders();
-        headers.setContentType(new MediaType("application", "json", Charset.forName("UTF-8")));
-        ResponseData responseData = new ResponseData();
-
-        // 댓글 등록
-
+    public ResponseEntity<?> saveProc(@RequestBody CmntVO cmntVO) {
+        // 게시판 댓글 등록
         HashMap<String,Object> result = cmntService.saveCmnt(cmntVO);
-
-        int insertResult = (int) result.get("result");
-
-        if(insertResult > 0) {
-            return resUtil.successRes(result, MessageCode.COMMON_SUCCESS);
-        } else if (insertResult == -1) {
-            responseData.setStatus(HttpStatus.INTERNAL_SERVER_ERROR.value());
-            responseData.setStatusText(HttpStatus.INTERNAL_SERVER_ERROR);
-            responseData.setMessage("아래의 금지어가 포함되어 있습니다.\n* " + result.get("word"));
-            return new ResponseEntity<>(responseData, headers, HttpStatus.INTERNAL_SERVER_ERROR);
-        } else if (insertResult == -2){
-            responseData.setStatus(HttpStatus.INTERNAL_SERVER_ERROR.value());
-            responseData.setStatusText(HttpStatus.INTERNAL_SERVER_ERROR);
-            responseData.setMessage("로그인 후 이용 가능합니다.");
-            return new ResponseEntity<>(responseData, headers, HttpStatus.INTERNAL_SERVER_ERROR);
-        } else {
-            return resUtil.errorRes(MessageCode.COMMON_INSERT_FAIL);
-        }
+        return resUtil.successRes(result, MessageCode.COMMON_SUCCESS);
 
     }
 
     /**
-     * @author  방선주
-     * @since   2024.05.27
-     * @param   cmntVO
-     * @return
-     * @throws  Exception
+     * @param cmntVO - 게시판 댓글 정보
+     * @return ResponseEntity - 게시판 댓글 목록 조회 결과를 포함하는 응답
      *
-     * 댓글 목록 조회
+     * 게시판 댓글 목록 조회
      */
     @PostMapping("/findCmntList.json")
-    public ResponseEntity<?> findCmntList(@RequestBody CmntVO cmntVO) throws Exception {
-        // 댓글 목록 조회
+    public ResponseEntity<?> findCmntList(@RequestBody CmntVO cmntVO) {
+        // 게시판 댓글 목록 조회
         List<CmntVO> cmntList = cmntService.findCmntList(cmntVO.getBbsId());
 
         Map<String, Object> result = new HashMap<String, Object>();
@@ -100,59 +74,28 @@
     }
 
     /**
-     * @author  방선주
-     * @since   2024.05.27
-     * @param   cmntVO
-     * @return
-     * @throws  Exception
+     * @param cmntVO - 게시판 댓글 정보
+     * @return ResponseEntity - 게시판 댓글 수정 결과를 포함하는 응답
      *
-     * 댓글 수정
+     * 게시판 댓글 수정
      */
     @PostMapping("/updateProc.json")
-    public ResponseEntity<?> updateProc(@RequestBody CmntVO cmntVO) throws Exception {
-// 응답 처리
-        HttpHeaders headers = new HttpHeaders();
-        headers.setContentType(new MediaType("application", "json", Charset.forName("UTF-8")));
-        ResponseData responseData = new ResponseData();
-
-        // 댓글 수정
+    public ResponseEntity<?> updateProc(@RequestBody CmntVO cmntVO) {
+        // 게시판 댓글 수정
         HashMap<String, Object> result = cmntService.updateCmnt(cmntVO);
-        int updateResult = (int) result.get("result");
-
-        // 응답처리
-        if(updateResult > 0) {
-            return resUtil.successRes(result, MessageCode.COMMON_SUCCESS);
-        } else if (updateResult == -1){
-            responseData.setStatus(HttpStatus.INTERNAL_SERVER_ERROR.value());
-            responseData.setStatusText(HttpStatus.INTERNAL_SERVER_ERROR);
-            responseData.setMessage("아래의 금지어가 포함되어 있습니다.\n* " + result.get("word"));
-            return new ResponseEntity<>(responseData, headers, HttpStatus.INTERNAL_SERVER_ERROR);
-        } else {
-            return resUtil.errorRes(MessageCode.COMMON_UPDATE_FAIL);
-        }
-
+        return resUtil.successRes(result, MessageCode.COMMON_SUCCESS);
     }
+
     /**
-     * @author  방선주
-     * @since   2024.05.27
-     * @param   cmntVO
-     * @return
-     * @throws  Exception
+     * @param cmntVO - 게시판 댓글 정보
+     * @return ResponseEntity - 게시판 댓글 삭제 결과를 포함하는 응답
      *
-     * 댓글 삭제
+     * 게시판 댓글 삭제
      */
     @PostMapping("/deleteProc.json")
-    public ResponseEntity<?> deleteProc(@RequestBody CmntVO cmntVO) throws Exception {
-
-        // 댓글 삭제 처리 (댓글 삭제는 업데이트로 처리 useYn = 'N')
+    public ResponseEntity<?> deleteProc(@RequestBody CmntVO cmntVO) {
+        // 게시판 댓글 삭제 처리 (댓글 삭제는 업데이트로 처리 useYn = 'N')
         int result = cmntService.deleteCmnt(cmntVO);
-
-        // 응답처리
         return resUtil.successRes(result, MessageCode.COMMON_SUCCESS);
-
     }
-
-
-
-
 }
src/main/java/com/takensoft/cms/bbs/web/WordMngController.java
--- src/main/java/com/takensoft/cms/bbs/web/WordMngController.java
+++ src/main/java/com/takensoft/cms/bbs/web/WordMngController.java
@@ -20,14 +20,16 @@
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+
 /**
  * @author 방선주
  * @since 2024.05.31
  * @modification
  *     since    |    author    | description
  *  2024.05.31  |    방선주     | 최초 등록
+ *  2025.03.21  |    하석형     | 코드 리펙토링
  *
- * 금지 단어 관리 Controller
+ * 금지어 관련 컨트롤러
  */
 @RestController
 @RequiredArgsConstructor
@@ -39,31 +41,29 @@
     private final WordMngService wordMngService;
 
     /**
-     * @author  방선주
-     * @since   2024.05.09
-     * @param   wordList
-     * @return
-     * @throws  Exception
+     * @param wordList - 금지어 목록 정보
+     * @return ResponseEntity - 금지어 등록 결과를 포함하는 응답
      *
-     * 금지어 추가
+     * 금지어 등록
      */
     @PostMapping("/saveProc.json")
-    public ResponseEntity<?> saveProc(@RequestBody HashMap<String, Object> wordList) throws Exception {
+    public ResponseEntity<?> saveProc(@RequestBody HashMap<String, Object> wordList) {
         // 금지어 등록
         int result = wordMngService.saveWords(wordList);
-        // 응답 처리
-        if(result > 0) {
-            return resUtil.successRes(result, MessageCode.COMMON_SUCCESS);
-        } else {
-            return resUtil.errorRes(MessageCode.COMMON_INSERT_FAIL);
-        }
+        return resUtil.successRes(result, MessageCode.COMMON_SUCCESS);
     }
+
+    /**
+     * @param params - 검색조건 및 페이징 정보
+     * @return ResponseEntity - 금지어 목록 조회 결과를 포함하는 응답
+     *
+     * 금지어 목록 조회
+     */
     @PostMapping("/findAll.json")
-    public ResponseEntity<?> findAll(@RequestBody HashMap<String, String> params) throws Exception {
+    public ResponseEntity<?> findAll(@RequestBody HashMap<String, String> params) {
         // 금지어 목록 조회
         Map<String, Object> result = new HashMap<>();
         HashMap<String, Object> wordsList = wordMngService.findAllWord(params);
-
 
         result.put("words", wordsList);
 
@@ -71,17 +71,16 @@
         return resUtil.successRes(result, MessageCode.COMMON_SUCCESS);
     }
 
+    /**
+     * @param params - 금지어 정보
+     * @return ResponseEntity - 금지어 삭제 결과를 포함하는 응답
+     *
+     * 금지어 삭제
+     */
     @PostMapping("/deleteProc.json")
-    public ResponseEntity<?> deleteProc(@RequestBody HashMap<String, Object> params) throws Exception {
-
+    public ResponseEntity<?> deleteProc(@RequestBody HashMap<String, Object> params) {
         // 금지어 삭제
         int result = wordMngService.deleteWords(params);
-
-        // 응답 처리
-        if(result > 0) {
-            return resUtil.successRes(result, MessageCode.COMMON_SUCCESS);
-        } else {
-            return resUtil.errorRes(MessageCode.COMMON_DELETE_FAIL);
-        }
+        return resUtil.successRes(result, MessageCode.COMMON_SUCCESS);
     }
 }
Add a comment
List