jvnlee / catch-dining

맛집 검색 및 예약 서비스
0 stars 0 forks source link

feature/#3 user api crud #4

Closed jvnlee closed 1 year ago

jvnlee commented 1 year ago

구현 내용

디렉토리 설정

도메인 중심 디렉토리 구조를 사용하기로 결정

User API부터 작업을 시작했으므로 기존 entity 패키지에서 User 엔티티만 빼서 새 디렉토리 구조를 적용시킴

 

Repository

Spring Data JPA 방식의 UserRepository 인터페이스를 추가함 커스텀 조회 메서드 2개 추가

 

Service

UserRepository를 의존성으로 갖는 UserService 클래스를 추가함

회원 가입이나 정보 수정 시, unique 제약이 걸려있는 username과 phoneNumber의 중복을 검증하기 위한 메서드를 구현함 이 때, 회원 정보 수정에서의 검증은 자기 자신의 데이터와 중복으로 인식되지 않도록 함

 

Controller

UserService를 의존성으로 갖는 UserController 클래스를 추가함

응답 타입은 Response라는 커스텀 타입 사용

발생 가능한 예외에 대해 ExceptionHandler 메서드 정의

 

테스트 코드

UserService에 대한 단위 테스트를 작성함

 

추가 구현 사항

User 엔티티에 UserType enum 필드 추가

User 관련 DTO 추가