JUST GO
[공통] 회원가입 구현 본문
# 요청 준비
- 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’ 에서 응답 결과 적절하게 돌려주기.
'Spring Boot > 학습내용' 카테고리의 다른 글
[공통] 암호화 (0) | 2022.11.08 |
---|---|
[공통] 전반적인 흐름 (0) | 2022.11.08 |
[공통] 올바른 인증코드 입력했을 때 (0) | 2022.11.07 |
[공통] 인증번호 확인 (0) | 2022.11.07 |
[공통] 타임리프 활용해서 이메일 전송 (0) | 2022.11.07 |