본문 바로가기

강의 내용 정리/Spring Boot를 이용한 RESTful Web Services 개발

3.5 ~ 3.7

UserDaoService.java

현재 없는 사용자를 조회 시 null을 반환하게 만들어둠.  그리고 200 OK가 뜸. -> RESTful 하지 않다.

-> 예외로 처리해보자.

 

 

UserController.java
예외는 보통 이렇게 작성. super(message)만하자.

 

이렇게 하고 없는 회원 조회 시

우리가 만든UserNotFounException이 뜬다.
우리가 작성한 메시지가 뜬다.

하지만 우리가 발생시킨 예외를 클라이언트에게 전달하는 것은 적절치 않다.

간혹 예외 발생의 원인이 되는 코드, 라인이 노출되면 보안상 문제.

-> 예외코드를 500번이 아닌 적절한 코드로 주자.

 

 

404로 바꿔주자.

-> 앞으로 해당 예외는 500에러가 아니라 404에러로 클라이언트에게 전달된다.

에러 메시지 핸들링 하는 법은 더 있지만 일단 이렇게 해두자.

 

 

 

 

============================================== 3-6. Spring의 AOP를 이용한 Exception Handling

 

 

ResponseEntityExceptionHandler 는 사용하고 있는 시스템에서 에러가 발생하면 에러를 핸들링하는 스프링부트가 제공하는 클래스.

 

Controller bean에서 예외가 발생하면 이 Handler 예외 클래스가 발생할 수 있도록 해보겠다.

 

Springframework 에서 로깅정보나 로그인정보 등 항상 실행시켜줘야하는 공통적인 항목 -> AOP이용.

 

우리의 Handler 클래스도 AOP 사용할 것이다.

 

 

1. handleUserNotFoundException 메서드 생성 전.

 

500번 에러가 발생

 

2. handleUserNotFoundException 메서드 생성 후.

 

404오류로 핸들링.

 

 

-> 이렇게 AOP 쓰면 trace가 X -> 정확히 의도한 에러메시지만 전달가능.

 

 

한줄씩 꼼꼼이 읽어보자.

 

결론 : 이걸 한 이유 : 이렇게 AOP 쓰면 trace가 X -> 정확히 의도한 에러메시지만 전달가능.

 

 

 

 

====================================== 3-7. 사용자 삭제를 위한 API 구현 - DELETE HTTP Method


 

 

UserDaoService.java
UserController.java

 

Recent Posts
Popular Posts
Recent Comments