DTO와 Pipe 검증 구조

DTO는 입력 모양을 선언하고, ValidationPipe는 실제 요청을 그 기준으로 통과시키거나 거부합니다.

입력 계약
1

Request body

클라이언트가 JSON 데이터를 보냅니다.

2

DTO class

필드와 decorator로 타입, 필수 값, 형식 제약을 선언합니다.

3

ValidationPipe

transform, whitelist 같은 정책을 요청 입구에서 적용합니다.

4

Controller

검증된 DTO만 서비스 로직으로 전달합니다.

핵심: DTO 검증은 컨트롤러의 조건문을 줄이는 장치가 아니라 API 입력 계약을 한곳에 고정하는 장치입니다.