Files
sodalive-backend-spring-boot/docs/20261106_이벤트수정_누락필드보존/prd.md
T

2.0 KiB

이벤트 수정 누락 필드 보존 PRD

문서 정보

  • 작성일: 2026-11-06
  • 상태: 구현 및 기능 범위 검증 완료
  • 결정권자: 사용자. 두 API 모두 파라미터 미전송 시 기존 값을 유지하도록 명시 승인.
  • 구현 계획: plan-task.md

문제와 목표

PUT /event, PUT /admin/event/banner에서 link, isAdult를 생략하면 기존 값이 null로 덮어써진다. 부분 수정 시 생략된 값을 보존하고, 명시적으로 전달한 값은 기존 방식으로 반영한다.

요구사항과 수용 기준

ID 상태 요구사항 수용 기준
EVENT-001 확정 두 API의 link 생략은 변경하지 않는다. 제목만 수정한 뒤 DB 재조회에서 기존 링크가 유지된다.
EVENT-002 확정 두 API의 isAdult 생략은 변경하지 않는다. 기존 true, false, null 각각이 유지된다.
EVENT-003 확정 명시한 값의 기존 동작을 유지한다. 새 링크 및 isAdult=true/false가 저장된다.
EVENT-004 확정 빈 링크의 기존 API별 동작을 유지한다. /event는 빈 문자열·공백을 그대로 저장하고 관리자 API는 null로 저장한다.
EVENT-005 확정 다른 생략 필드와 API 계약을 유지한다. 이미지·isPopup·기간·lang·isActive는 제목만 수정해도 유지되고 응답 성공 형식과 ADMIN 권한은 변하지 않는다.

범위 밖

  • 새 삭제 파라미터, JSON PATCH, DTO·스키마 변경, 서비스 통합/리팩터링.
  • 기존 데이터 복원, 관리자 프런트엔드 변경, 운영 DB 접근, 날짜 처리 변경.
  • isAdult를 null로 초기화하는 새 기능. 생략은 이제 보존이며 true/false 전송은 기존대로 지원한다.

검증 경계

기존 SpringBootTest/MockMvc와 H2 재조회로 요청 바인딩부터 저장까지 검증한다. S3는 기존 mock을 유지한다. 실제 관리자 UI 및 운영 MySQL 검증과 전체 테스트는 별도이며, 전체 테스트 실행 명령은 ./gradlew test이다.