실전 프로젝트 백엔드

파일 관리 API 책임 분리

프로젝트, 폴더, 파일은 서로 다른 리소스지만 한 작업 흐름에서 움직입니다. Entity, DTO, Service, Controller 책임을 나눠야 변경이 안전합니다.

01

엔티티

관계와 소유권 먼저 고정

Project는 사용자와 연결되고 Folder와 File은 프로젝트 안에서 계층을 이룹니다.

02

서비스

경로 계산과 권한 검증

폴더 이동, 파일 생성, 삭제는 소유자 확인과 부모 경로 검증이 같이 필요합니다.

03

컨트롤러

요청 계약을 DTO로 제한

라우트는 HTTP 입력을 DTO로 받고 서비스 결과를 응답 형태로 정리합니다.

API 설계 기준

  • 파일 작업은 항상 프로젝트 소유자 검증을 먼저 통과해야 합니다.
  • 폴더 삭제는 하위 파일과 폴더 처리 정책을 명확히 둡니다.
  • DTO는 클라이언트가 보낼 수 있는 필드만 열어 둡니다.

레이어 역할

Entity 저장 구조 관계와 컬럼
Service 업무 규칙 권한과 경로
Controller HTTP 경계 DTO와 응답