Skip to content

Comments

feat: 이미지 필드 추가로 인한 로직 변경#19

Merged
zzuhannn merged 1 commit intomainfrom
feat/image
Nov 14, 2025
Merged

feat: 이미지 필드 추가로 인한 로직 변경#19
zzuhannn merged 1 commit intomainfrom
feat/image

Conversation

@zzuhannn
Copy link
Member

패키지 이미지 URL 기능 추가 및 패키지 생성 API 개선

📝 Summary

패키지 조회 시 이미지를 표시하기 위한 imageUrl 필드를 추가하고, 패키지 생성 API의 검증 로직을 개선하여 500 에러를 방지했습니다.

🎯 작업 내용

1. 패키지 이미지 URL 기능 추가

  • Pass 엔티티imageUrl 필드 추가
  • 모든 Response DTOimageUrl 필드 추가
    • HomePassInfoRes (홈 화면 패키지 조회)
    • MyPassRes (내 패키지 조회)
    • PassDetailRes (패키지 상세 조회)
  • PassCreateReqimageUrl 선택 필드 추가
  • Service 로직에서 imageUrl 처리 추가

2. DB 이미지 데이터 추가

  • 30개 패키지에 Unsplash 이미지 URL 추가를 위한 SQL 파일 생성
  • update_pass_images.sql 파일 제공

🔧 변경된 파일

엔티티 & DTO

  • Pass.java - imageUrl 필드 추가
  • PassCreateReq.java - imageUrl 선택 필드 추가
  • HomePassInfoRes.java - imageUrl 반환 추가
  • MyPassRes.java - imageUrl 반환 추가
  • PassDetailRes.java - imageUrl 반환 추가

📊 API 변경사항

패키지 조회 API (모든 조회 API)

변경 전:

{
  "passId": 1,
  "passName": "운동 첫걸음",
  "passPrice": 43000
}

변경 후:

{
  "passId": 1,
  "passName": "운동 첫걸음",
  "passPrice": 43000,
  "imageUrl": "https://images.unsplash.com/photo-xxx"
}

패키지 생성 API

Request Body (imageUrl 선택 추가):

{
  "facilityIdList": [8, 9, 10],
  "passPrice": 80000,
  "passName": "모브의 첫번째 패키지",
  "passDescription": "열심히 운동하자",
  "storageType": "LOCKER",
  "imageUrl": "https://images.unsplash.com/photo-xxx"  // 선택사항
}

✅ 해결된 이슈

데이터 정합성 개선

  • Pass 저장 전에 모든 검증 수행
  • 트랜잭션 롤백 시 orphan 데이터 방지

📌 배포 시 주의사항

. 프론트엔드 대응

  • 모든 패키지 조회 응답에 imageUrl 필드 추가됨
  • <img src={pass.imageUrl} /> 형태로 사용 가능

🔗 관련 이슈

  • 프론트엔드 패키지 이미지 표시 요구사항
  • 패키지 생성 시 500 에러 발생 이슈

@zzuhannn zzuhannn merged commit ea292d9 into main Nov 14, 2025
2 checks passed
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