- [JPA] 32. 공통 응답 DTO 및 예외 처리 구조 만들기2024년 10월 23일
- Song hyun
- 작성자
- 2024.10.23.:52
728x90반응형[JPA] 32. 공통 응답 DTO 및 예외 처리 구조 만들기
1. ApiUtil 클래스란?
- ApiUtil 클래스는 모든 API 응답을 동일한 형태로 구성하기 위한 공통 응답 DTO이다.
- 이를 통해 성공 응답, 에러 응답을 일관적인 구조로 제공할 수 있다.
2. 코드 예제
(1) ApiUtil.java
package com.tenco.blog_v3.common.util; public class ApiUtil<T> { private Integer status; // 협의 -> 1 성공, -1 실패 private String msg; private T body; // T body <- 어떠한 객체가 들어와도 상관없다! public ApiUtil(T body){ this.status = 200; this.msg="성공"; this.body=body; } public ApiUtil(Integer status, String msg){ this.status = status; this.msg = msg; this.body = null; } }
(2) GlobalExceptionHandler
package com.tenco.blog_v3.common; import com.tenco.blog_v3.common.errors.*; import com.tenco.blog_v3.common.util.ApiUtil; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.ControllerAdvice; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.RestControllerAdvice; import org.springframework.web.servlet.ModelAndView; // 데이터 반환 @RestControllerAdvice public class GlobalExceptionHandler { /** * 400 Bad Request 예외 처리 * @param ex * @param model * @return */ @ExceptionHandler(Exception400.class) public ResponseEntity<?> handleException400(Exception400 ex, Model model) { ApiUtil<?> apiUtil = new ApiUtil<>(400, ex.getMessage()); return new ResponseEntity<>(apiUtil, HttpStatus.BAD_REQUEST); }
728x90반응형'JPA' 카테고리의 다른 글
[JPA] JWT란? (0) 2024.10.25 [JPA] 34. RestAPI에 기반한 회원가입 기능 만들기 (3) 2024.10.23 [JPA] 31. RestAPI 주소설계와 세팅 (0) 2024.10.23 [JPA] 30. RestAPI 주소 설계 규칙 (0) 2024.10.21 [JPA] 29. CORS란 뭘까? (0) 2024.10.21 다음글이전글이전 글이 없습니다.댓글
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)