j00r6 / SPYAIR-Fansite-Project

1 stars 1 forks source link

[BE] Feat : Member #02 Member 회원가입 구현 #13

Closed j00r6 closed 7 months ago

j00r6 commented 10 months ago

구현 목록

다음단계

j00r6 commented 10 months ago

개발시 문제 발생 및 해결

문제 1. 닉네임 중복 방어 로직에서 Repository에 작성한 exsitByNickName 가 오류를 발생함

💬 JpaRepository 참고한 결과 exsitsByNickName 으로 단순 오타 정정 후 정상 작동


문제 2. Builder 패턴 활용해서 Mapper 간소화하는 과정 중 멤버 객체를 활용하지 못함

public void signInMember (SignInRequest request) {

Member findMember = repository.findByEmail(request.getEmail());
findMember.setRoles(Collections.singletonList(Authority.builder().name("ROLE_USER").build()));
repository.save(request.SignInRequestToEntity(encoder.encode(request.getPassword())));
    }

위와 같이 작성했으나 회원가입 과정 중에 findByEmail을 조회해서 Email이 null 값인 상태에서 조회를 진행하여 findMember 에 null 값이 포함됨

:star2: 빌더패턴으로 DTO에 구현된 메서드 SignInRequestToEntity() 가 Mapper를 대체하고 있다는 사실을 인지함

Member member = request.SignInRequestToEntity(encoder.encode(request.getPassword()));