Exception Handler
- DB 조회 실패 요청, Validation 실패에 대한 Exception을 모두 RuntimeException을 Throw하게 해두었다.
- Controller Advice를 통해 RuntimeExcpetion일때 BadRequest를 반환하는 하나의 Handler를 추가하였다.
- 우선 기능 구현에 초점을 맞추며 Exception에 대해서는 이후 공통에러 포맷을 만들고, 각각 상황에 맞는 Exception을 RunTimeException을 상속받아 구현할 예정이다.
구현기능
- MyCoupang관련 template추가
- 회원정보 관리 변경 추가
- 회원 정보 수정의 경우 정보가 변경된 회원의 경우 현재 SecurityContextHolder가 가지고 있는 Principal 정보를 변경해주어야한다.
- UserDetails를 구현할 때 내부에 User를 가지고 있도록하여 principal.setUser를 통해 간단하게 적용 가능
- 회원 정보 변경 기능이 한번에 모든 정보를 입력하고 변경하는 것이 아닌 핸드폰 번호 변경 버튼, 이메일 변경버튼 처럼 각각 정보마다 요청을 보낸다.
- PutMethod를 통해 /user/phoneNumber, /user/username, /user/password 로 들어온 요청을 처리하였고 email변경의 경우 duplicate되었는지체크한다.
- 회원 정보 수정의 경우 정보가 변경된 회원의 경우 현재 SecurityContextHolder가 가지고 있는 Principal 정보를 변경해주어야한다.
- 회원 탈퇴 기능 추가