검증 규칙
@IsString, @IsEmail, @MinLength, @IsOptional로 요청 필드의 허용 범위를 코드에 둡니다.
DTO 경계
class-validator, class-transformer, ValidationPipe 옵션을 함께 보아 잘못된 입력 제거, 타입 변환, 에러 메시지 노출 수준을 결정합니다.
@IsString, @IsEmail, @MinLength, @IsOptional로 요청 필드의 허용 범위를 코드에 둡니다.
app.useGlobalPipes(new ValidationPipe())로 모든 controller 입력에 같은 정책을 적용합니다.
whitelist와 forbidNonWhitelisted로 DTO에 없는 속성을 제거하거나 400으로 거부합니다.
transform 옵션은 query string 숫자와 nested DTO를 실제 타입으로 다룰 때 필요합니다.