첨부파일 모듈 실제 운영 시나리오: 외부 모듈과의 협업
## 첨부파일 모듈 실제 운영 시나리오: 외부 모듈과의 협업 작성하신 컨트롤러를 보니 **파일의 생애주기(업로드, 조회, 다운로드, 삭제, 영구 삭제)**를 처리하는 API 규격이 아주 잘 잡혀 있습니다. 특히 `uploadNewGroup`에서 ID를 먼저 생성해서 반환하고, 클라이언트가 이 ID를 나중에 메인 데이터와 엮어서 보내는 방식은 현대적인 SPA/앱 환경에서 가장 선호되는 방식입니다. --- ### 🧐 실제 운영 시나리오: 게시판(Board) 모듈과의 협업 1. **파일 업로드 (사용자 → AttachFileController)** - 사용자가 글쓰기 화면에서 파일을 올립니다. - `uploadNewGroup`이 호출되고, 서버는 물리 파일을 저장한 뒤 `AttachFileId` (예: "01JBT...")를 반환합니다. - 이때 DB에는 `is_linked = false` 상태로 저장되어 있습니다. (Moments가 째깍째깍 삭제 타이머를 돌리기 시작합니다.) 2. **본문 저장 (사용자 → BoardController)** - 사용자가 "저장" 버튼을 누르면 게시판 모듈로 본문 내용과 함께 아까 받은 `attachFileId`를 보냅니다. - 게시판 모듈은 자기 테이블에 이 ID를 저장합니다. 3. **연결 확정 (Board 모듈 → AttachFile 모듈)**Java - **이 시점이 바로 아까 우리가 정의한 이벤트를 던지는 순간입니다!** - 게시판 모듈 내부에서 다음 코드가 실행됩니다. ```java // BoardService.java 내부 eventPublisher.publishEvent(new AttachFileConfirmCommand(attachFileId)); ``` - `AttachFile` 모듈의 리스너가 이를 받아 `is_linked = true`로 바꿉니다. 이제 이 파일들...