classOrderItem{ productId:string; quantity:number;}classOrder{@Type(()=> OrderItem)// OrderItem[] 배열 전체를 변환 items: OrderItem[];}const order =plainToInstance(Order,{ items:[{ productId:'p1', quantity:2},{ productId:'p2', quantity:1},],});console.log(order.items[0]instanceofOrderItem);// >> true
import{ Type }from'class-transformer';import{ ValidateNested, IsArray }from'class-validator';classPetDto{@IsString() name:string;}classCreateBreederDto{@IsArray()@ValidateNested({ each:true})@Type(()=> PetDto)// 반드시 필요 — 없으면 검증이 일반 객체로 처리됨 pets: PetDto[];}
classPaginationDto{@Type(()=> Number)// '10' → 10 으로 변환@IsInt() page:number;}