- 상품 관리 코드를 옮겨 온다.
- 상품 추가/수정 시 유효성 검사 기능 구현
- 상품 이름 길이 제한: 공백 포함 최대 15자까지 입력 가능
- 상품 이름에 사용할 수 있는 특수 문자 제한
- 허용: ( ), [ ], +, -, &, /, _
- 비허용: 그 외 모든 특수 문자
- 상품 이름에 "카카오"가 포함된 경우, MD 승인 여부를 확인하는 로직 추가
-
회원 기능
- 회원 테이블 생성
- 이메일과 비밀번호를 입력받아 회원 가입 API 구현 (
POST /api/members/register)- 비밀번호는 BCrypt 알고르즘을 이용해 암호화하여 저장
- 회원가입 성공 (
201 Created)
- 로그인 API 구현 (
POST /api/members/login)- 이메일과 비밀번호가 일치하면 토큰 발급 (
200 OK)
- 이메일과 비밀번호가 일치하면 토큰 발급 (
-
인증 및 예외 응답 처리
- 이메일 중복 시 예외 처리 (
409 Conflict) - 이메일 또는 비밀번호가 불일치 시 예외 처리 (
401 Unauthorized) - 인증은 되었지만 권한이 없는 경우 (
403 Forbidden) - Authorization 헤더 또는 토큰이 유효하지 않은 경우 (
401 Unauthorized)
- 이메일 중복 시 예외 처리 (
- 위시 리스트 API
- 위시 리스트에 등록된 상품 조회 API (
GET /api/wishes) - 위시 리스트에 상품 등록 API (
POST /api/wishes)- 존재하지 않는 상품일 경우 예외 처리 (
404 Not Found)
- 존재하지 않는 상품일 경우 예외 처리 (
- 위시 리시트 상품 삭제 API (
DELETE /api/wishes/{productId})- 존재하지 않는 상품일 경우 예외 처리 (
404 Not Found)
- 존재하지 않는 상품일 경우 예외 처리 (
- 위시 리스트에 등록된 상품 조회 API (
- 인증 처리
-
@LoginMember어노테이션 +LoginMemberArgumentResolver를 구현하여 토큰에서 사용자 정보 추출 및 사용자 정보 컨트롤러에 주입
-
- Java 17
- Spring Boot 3.5.3
- JSON
- Java Collection
- Thymeleaf
- Jwt