## 목적 콘텐츠 저장 후 홈페이지 캐시를 무효화한다. 실패해도 저장을 롤백하지 않는다. ## 작업 내용 - [ ] ContentChangedEvent → @TransactionalEventListener(AFTER_COMMIT) → RestClient POST /api/revalidate - [ ] 시크릿 헤더, 1회 재시도, 실패는 로그만 - [ ] GET/POST /admin/homepage-sync 상태 조회 - [ ] 태그 규칙: track-list, track:{slug}, activity-category-list, activity:{categorySlug}, activity:{id} ## 수용 기준 · 근거 - AC-5.4 1분 내 반영 - AC-5.7 웹훅 실패 시 저장은 유지 - 근거: ADR-010 ## 선행 의존 T-07, T-15 ## 참고 - [T-21 상세](https://github.com/BCSDLab/BCSD_INTERNAL_API_V2/blob/main/docs/07-task-breakdown.md) - [요구사항](https://github.com/BCSDLab/BCSD_INTERNAL_API_V2/blob/main/docs/01-requirements.md) · [수용 기준](https://github.com/BCSDLab/BCSD_INTERNAL_API_V2/blob/main/docs/02-acceptance-criteria.md) · [ADR](https://github.com/BCSDLab/BCSD_INTERNAL_API_V2/blob/main/docs/04-architecture.md)
목적
콘텐츠 저장 후 홈페이지 캐시를 무효화한다. 실패해도 저장을 롤백하지 않는다.
작업 내용
ContentChangedEvent → @TransactionalEventListener(AFTER_COMMIT) → RestClient POST /api/revalidate
시크릿 헤더, 1회 재시도, 실패는 로그만
GET/POST /admin/homepage-sync 상태 조회
태그 규칙: track-list, track:{slug}, activity-category-list, activity:{categorySlug}, activity:{id}
수용 기준 · 근거
AC-5.4 1분 내 반영
AC-5.7 웹훅 실패 시 저장은 유지
근거: ADR-010
선행 의존
T-07, T-15
참고