JUST GO

[공통] 회원가입 구현 본문

Spring Boot/학습내용

[공통] 회원가입 구현

root_go 2022. 11. 7. 16:25

# 요청 준비

- FormData 준비

    - UserEntity 가 가지는 모든 멤버에 대응하는 값 Append
    - EmailAuthEntity 가 가지는 모든 멤버에 대응하는 값 Append(index 제외)

Cover.show('회원가입 진행 중입니다.\n\n잠시만 기다려 주세요.');

const xhr = new XMLHttpRequest();
const formData = new FormData();
formData.append('email', form['email'].value);
formData.append('code', form['emailAuthCode'].value);
formData.append('salt', form['emailAuthSalt'].value);


- XHR 준비
     - ‘POST’ 방식으로 ‘/member/register’로 오픈
     - 응답 결과에 따른 대응
         - ‘Success’ : 회원가입 성공. 스텝 3으로 넘기기.
         - ‘Failure’ : 알 수 없는 이유로 실패.
         - ‘email_not_verified’ : 이메일 인증이 완료되지 않았음. 실패. (‘RegisterResult’ 따로 필요함)

# 요청 받기

- ‘MemberController’에 ‘postRegister’ 메서드 맵핑하기. (추가로 @ResponseBody)
    - value : ‘register’
    - method : RequestMethod.POST
    - produces : MediaType.APPLICATION_JSON_VALUE
    - 매개 변수 : UserEntity 및 EmailAuthEntity
- ‘MemberService’에 ‘register’ 메서드 만들기.
    - 매개 변수 : UserEntity 및 EmailAuthEntity
    - ‘EmailAuthEntity’ 사용하여 ‘IMemberMapper’의 ‘selectEmailAuthByEmailCodeSalt’ 호출 후, null 이거나 isExpired()가 false인 경우 ‘EMAIL_NOT_VERIFIED’로 결과 반환.
    - ‘UserEntity’ 사용하여 ‘IMemberMapper’의 ‘insertUser’ 호출 후, 결과 값이 0이면 ‘FAILURE’ 으로 결과값 반환.
    - 전부 괜찮으면 ‘SUCCESS’ 반환.
- ‘IMemberMapper’ 에 ‘insertUser’ 메서드 만들고 MyBatis Mapper와 연결하기(+적절한 쿼리 작성).
- ‘MemberController’ 에서 응답 결과 적절하게 돌려주기.