Skip to content

Feature/user baby profile api#24

Merged
dh1180 merged 5 commits intomainfrom
feature/user-baby-profile-api
Jul 31, 2025
Merged

Feature/user baby profile api#24
dh1180 merged 5 commits intomainfrom
feature/user-baby-profile-api

Conversation

@dh1180
Copy link
Copy Markdown
Contributor

@dh1180 dh1180 commented Jul 31, 2025

👶 아기 CRUD 및 선택 기능 전체 구현

✅ 주요 기능 요약

1. 👶 아기 등록 기능

  • POST /api/user/baby: 사용자 이름 + 태명 + 출산예정일을 함께 입력하여 아기 등록 (튜토리얼 전용)
  • POST /api/user/baby/basic: 태명 + 출산 예정일만 입력하여 간편 등록
    • 등록 후 BabyResponse JSON 형태로 반환
    • 등록된 아기는 자동으로 선택(selectedBabyId) 상태가 됨

2. 📖 아기 조회 기능

  • GET /api/user/baby: 로그인된 사용자의 전체 아기 목록 조회
  • GET /api/user/baby/{babyId}: 특정 아기 정보 단건 조회
    • 인증 사용자 외 접근 시 401 반환
    • 본인 소유 아기 아닐 경우 403 또는 예외 처리

3. ✏️ 아기 정보 수정 기능

  • PATCH /api/user/baby/{babyId}: Multipart 요청으로 이름, 출산예정일, 이미지 수정
    • 이미지가 존재하면 기존 이미지 삭제 후 새 이미지 업로드 (S3 처리)

4. 🗑️ 아기 삭제 기능

  • DELETE /api/user/baby/{babyId}: 해당 아기를 삭제
    • 인증 필요
    • 본인 소유 여부 확인 후 삭제 진행

5. ✅ 선택된 아기 변경

  • PATCH /api/user/select-baby/{babyId}: 등록된 아기 중 하나를 선택된 아기로 지정
    • 이후 사용자 응답에서 해당 아기의 이름이 함께 반환됨

💬 기타 개선 사항

  • 모든 API에 인증 처리 (@AuthenticationPrincipal) 및 401/403 응답 처리
  • Swagger 문서 설명 강화 (@Operation, @ApiResponses)
  • BabyResponse를 통한 응답 통일
  • dueDate JSON 직렬화 시 yyyy-MM-dd 포맷 적용
  • Multipart JSON 조합 요청은 Swagger UI 한계로 @RequestParam 방식으로 대체

dh1180 added 5 commits July 31, 2025 00:47
- BabyResponse의 dueDate를 LocalDate로 변환하고 @jsonformat('yyyy-MM-dd') 적용하여 날짜만 출력되도록 수정
- 아기 선택/변경 API에서 BabyResponse 반환으로 프론트엔드 활용성 개선
- PATCH /api/user/phone 엔드포인트 추가
  - 로그인된 사용자가 자신의 phone, partnerphone을 등록/수정 가능
- Swagger 문서화 추가로 API 명세 보강
- 아기 전체 목록 조회 API (GET /api/user/baby)
- 특정 아기 정보 조회 API (GET /api/user/baby/{babyId})
- 아기 정보 등록 API (POST /api/user/baby/basic)
  - 태명(babyName), 출산 예정일만으로 등록
  - 등록 후 BabyResponse 반환 및 selected_baby_id 변경
- 아기 정보 수정 API (PATCH /api/user/baby/{babyId})
  - JSON + 이미지 multipart 요청 처리
- 아기 삭제 API (DELETE /api/user/baby/{babyId})
- BabyResponse DTO에 profileImage 필드 추가
- '전화번호가 성공적으로 변경되었습니다.' 메시지를 반환
@dh1180 dh1180 merged commit acd5a73 into main Jul 31, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant