Open nloaveee opened 2 months ago
< 프로필 수정 문제 >
loginId를 session에서 꺼내 BO `// 기존 회원정보 가져오기 User user = userRepository.findByLoginId(loginId);
if (user != null) {
user = userRepository.save(User.builder()
.userPwd(password)
.phoneNumber(phoneNumber)
.build());
}
return user;
}` 사용 했는데 user의 이메일과 이름은 수정을 하지 않아서 파라미터 변경을 해주지 않았는데 user의 이메일과, 이름에 null 값이 들어가서 error 발생
수정 하려는 파라미터만 넣는게 아니라 user의 모든 파라미터를 넣어줌 loginId, userName, email은 원래 user의 값을 꺼내서 사용 했는데 회원 정보가 수정 되어서 저장 되는게 아니라 새로운 회원 정보가 저장되는 error 발생 `// 기존 회원정보 가져오기 User user = userRepository.findByLoginId(loginId);
if (user != null) {
user = userRepository.save(User.builder()
.loginId(loginId)
.userPwd(password)
.userName(user.getUserName())
.phoneNumber(phoneNumber)
.email(user.getEmail())
.build());
}
return user;`
< 프로필 수정 완료 >
sumbit -> submit 오타
수정 문제가 발생할 때 계속해서 사용한 빌더 패턴은 보통 객체를 새로 생성할 때 사용되고, 내가 원하는 비밀번호와 전화번호 특정 필드만 업데이트를 하려면 기존 객체를 수정하는게 더 적합하다. 그래서 user에 @setter 를 해서 set으로 필요한 필드만 업데이트 하는 방식으로 해주었다.
=> 빌더 패턴 사용
<Q&A>