728x90

프로젝트를 이리저리 써보던 중, 회원 정보 수정을 눌렀는데 위와같이 에러가 떴다.

controller 문제는 아닌 것 같아 service 코드를 확인해봤다.

 

userService 코드

아! 여기가 문제였다. 얼마전에 중복 체크를 하려고 checkDuplicate라는 메서드를 추가했다. 

회원가입시 이메일이 중복되면 에러를 throw하도록 하는 메서드인데, controller에서 user를 새로 생성할 때와, 정보를 수정해서 저장할 때 둘다 save 함수를 쓰는데, 그래서 중복 체크가 되고 에러가 떴던것이다.

 

회원 정보 생성과 수정 시 db에 저장할 메서드를 따로 분리해야겠다.

userService 수정 코드

위와 같이 생성과 수정 메서드를 따로 분리해서 해결했다.

 

userController 코드

주석처리 된 기존 코드와 새로운 코드다.

 

user 뿐만 아니라 다른 도메인에도 중복 체크를 하느라 코드를 추가해서, 검사를 해 봤다.

좋아요나 댓글 기능엔 영향이 없고, post controller와 service에도 문제가 있어 수정해줬다.

 

postService 코드

 

수정까지 모두 마치고 배포까지 해서 상황을 일단락했다.

크게 어렵지 않은 오류였지만 후에 같은 실수를 반복하지 않기 위해 기록해둔다.

728x90

+ Recent posts