-
Notifications
You must be signed in to change notification settings - Fork 1
user_nickname_change
whale0928 edited this page Jun 13, 2024
·
1 revision
보틀노트 서비스 이용 유저가 닉네임을 변경할 수 있는 기능을 구현하기 위한 테크 스펙을 작성한 문서입니다.
닉네임 중복검사후 변경 가능 여부를 판단하고, 변경 가능할 경우 닉네임을 변경합니다.
닉네임 변경할 수 있는 API를 구현한다. 닉네임 중복검사를 통해 변경 가능 여부를 판단한다. 닉네임 변경 가능할 경우 닉네임을 변경한다. 닉네임 변경 불가능할 경우 변경불가 메시지를 반환한다. 해당 API에 대한 rest docs를 작성한다.
-
request DTO에 Bean Validation을 적용한다.
- nickName : 영어, 한글, 숫자만 가능.
- @Notblank -> message = "아이디는 필수 입력값입니다."
- @Pattern(regexp = "^[a-zA-Z가-힣0-9]{2,11}$") -> message : 닉네임은 2~11자의 한글, 영문, 숫자만 가능합니다.
- userId : @Notnull
- nickName : 영어, 한글, 숫자만 가능.
-
닉네임 중복체크를 위한 로직을 만들어야한다.
- parameter의 닉네임을 조회한다.
- 닉네임이 중복되는지 확인한다.
- 존재하는 경우 true, 존재하지 않는 경우 false 리턴
- 중복되지 않는다면 닉네임을 변경한다.(update)
- 중복된다면 변경불가 메시지를 반환한다.
- 닉네임 변경 횟수제한은 없다.
-
기능 구현 후 test code를 작성한다. junit
- DTO Validation 테스트, nickName과 userId 필드의 유효성 검사를 확인합니다.
- 중복 닉네임 검사 및 닉네임 변경 로직 테스트, 중복검사 후 닉네임변경이 정상적으로 이루어지는지 확인합니다.
-
valid check
-
nickName : 영어, 한글, 숫자만 가능.
-
nickName : @Notblank -> message = "아이디는 필수 입력값입니다."
-
userId : @Notnull
-
비즈니스 로직
- 닉네임 중복체크
- 닉네임 변경
- 닉네임 변경 불가능 메시지 반환
- 닉네임 변경 횟수제한 없음 ㅇ