요청 모델
생성, 수정, 조회 조건별로 다른 DTO를 정의한다.
DTO는 TypeScript 타입 장식이 아니라, 외부에서 들어오는 body와 param의 구조를 런타임에 검증하고 controller 이후 계층을 보호하는 계약이다.
생성, 수정, 조회 조건별로 다른 DTO를 정의한다.
문자열, 숫자, 배열, nested object에 validator decorator를 붙인다.
전역 또는 route 단위 ValidationPipe가 DTO 인스턴스 검증을 수행한다.
validation 실패를 프런트가 읽을 수 있는 필드 오류 형식으로 정리한다.