TypeScript 백엔드 구현

NestJS API 책임 경계

API 서버는 요청을 그대로 DB에 넘기지 않습니다. DTO, Controller, Service, Entity가 서로 다른 책임을 나눠 가져야 합니다.

01

DTO

요청 계약과 유효성 검사

CreateUserDto와 UpdateUserDto는 클라이언트 입력의 모양과 제한을 문서화합니다.

02

Service

비즈니스 로직과 예외 처리

비밀번호 해싱, 중복 확인, NotFoundException 같은 처리는 서비스에 둡니다.

03

Guard

인증과 역할 제한

JWT 검증과 RBAC는 컨트롤러 앞에서 요청을 걸러 API 경계를 보호합니다.

API 경계 기준

  • Entity는 DB 저장 형태, DTO는 요청·응답 계약으로 구분합니다.
  • Controller는 HTTP 변환에 집중하고 핵심 처리는 Service로 보냅니다.
  • 인증 실패, 권한 부족, 데이터 없음 예외를 서로 다르게 처리합니다.

NestJS 책임

Entity 저장 구조 TypeORM 매핑
DTO 입력 계약 class-validator
Guard 접근 제어 JWT와 Role