4주차
Custom Respose 만들기 (기존 포스트맨 결과와 비교)
예외처리 사용 및 필요성
- Exception 작성
- Advice 생성 및 사용
README.md 파일 만들기
Response을 커스텀해서 사용하는 이유는 ResponseEntity 클래스를 통해 리턴을 해주면 데이터의 형식을 수정할 수가 없게 된다. 즉 형식을 유동적으로 수정해주기 위해 Response를 사용한다.
ResponseEntity로 데이터를 반환할 경우
Response로 데이터를 반환할 경우
Response로 데이터를 반환했을 때, ResponseEntity로 데이터를 반환했을 때 보다 더욱
다양한 틀에 감싸져 있음을 확인할 수 있다. 이렇게 사용하는게 더욱 편리한 이유는 프론트엔드
개발자의 편의를 위함과 더불어, 데이터의 형식을 쉽게 구분시켜주기 때문이다.
예외처리
예외처리를 하는 이유는 사용자가 요청을 보냈을 때, 에러가 난 경우를 대비하기 위함이다. 3주차 때 배운 get() 함수는 오류마저도 받아드리는 역할을 함으로써, 어떤 문제점이 발생했는지 알 수 없었다. 그러나 예외처리를 배움으로써, 어떤 에러가 발생했는지 알 수 있기 때문에 예외처리를 사용한다.
예외처리 개념
- Advice : Exception을 관리하기 위한 통제소
- Exception : 예외처리를 위해 커스텀으로 만든 Exception
- @RestControllerAdvice : 예외처리가 발생한 것을 관리해줌 // @RestController + @Advice
- @ExceptionHandler(예외.class) : 어노테이션이 적용된 예외처리메소드 실행
- @ResponseStatus : http의 상태코드 반환(ex)404 not found)
- ExceptionAdvice에 의해서 예외처리를 한 후, failure 메소드에 의해 오류를 리턴해준다.
예외상황을 만들기 위해서 작성해야 할 클래스
ex) BoardNotFoundException => 게시글이 안 보일 때
ex) WriterNotFoundException => 작성자가 안 보일 때
+ RuntimeException을 상속 받아야함
예외처리 기능을 추가하면, 다음과 같이 실패 메세지와 에러코드 및 데이터 반환이 실패했다는 false값이 출력된다.
'Java > Spring' 카테고리의 다른 글
DTO, DAO, Repository, Entity 개념 (0) | 2022.08.04 |
---|---|
예외처리(Exception)기능 + Response 기능(데이터 반환) 을 추가한 게시판 만들기 코드 (2) | 2022.07.27 |
스프링 스터디(3주차) CRUD 게시판 만들기 + Postman 사용 (0) | 2022.07.20 |
스프링 스터디(2주차) + 내용 정리 (0) | 2022.07.12 |
스프링부트 기본구조 및 JPA (0) | 2022.07.04 |