nestJS에서 유효성 검사나 BadRequest같은 부분은 class-validator를 사용하면 더 편리하게 사용 가능하다.
$ npm i --save class-validator class-transformer
설치 후 main.ts에 다음을 적용 시켜야한다.
app.useGlobalPipes(new ValidationPipe());
그럼 dto파일 같은거에 @IsEmail
이런게 적용이 가능해짐
예를 들면 entity를 이용해서 dto를 사용한다면,
@IsEmail()
@IsNotEmpty()
@ApiProperty({
example: 'jjj@gmail.com',
description: '계정 이메일',
required: true,
})
@Column({ type: 'varchar', length: 40, name: 'email' })
email: string;
이런식으로 사용하면된다.
이러면 email이 빈 상태로 요청을 보내면 해당 에러 메시지와 함께 400 statusCode를 받을 수 있다.
이 에러를 던져주는것을 exceptionFilter로 걸러줘서 커스텀 하는 것도 가능함