[TIL] NestJS 공부 26일차
손 부상 때문에 글을 자주 못쓰거나 퀄리티가 떨어질 수 있습니다..ㅠ
Validation
웹 애플리케이션으로 전송되는 데이터를 확인하는 제일 좋은 방법은 확인하는 것이다.
그리고 요청을 자동으로 검증해주는 파이프를 Nest에서 제공한다.
- ValidationPipe
- ParseIntPipe
- ParseBoolPipe
- ParseArrayPipe
- ParseUUIDPipe
첫 번째 파이프를 제외하면 나머지는 타입에 따라 다른 것이라고 유추할 수 있고
첫 번째는 class-validator패키지를 사용하고 유효성 검사에도 사용된다. 그리고 유효성 검사에 편리하게 만들어진 파이프다!
ValidationPipe
이 파이프는 class-validator와 class-transformer를 사용한다고 적혀있는데 기본 옵션은 아래와 같다.
export interface ValidationPipeOptions extends ValidatorOptions {
  transform?: boolean;
  disableErrorMessages?: boolean;
  exceptionFactory?: (errors: ValidationError[]) => any;
}자동 검증
ValadationPipe를 바인딩한 후 자동 검증되게 만들어봅시다
async function bootstrap() {
  const app = await NestFactory.create(AppModule);
  app.useGlobalPipes(new ValidationPipe());
  await app.listen(3000);
}
bootstrap();이제 엔드포인트를 만든 후 자동 검증이 되는지 확인해봅시다
@Post()
create(@Body() createUserDto: CreateUserDto) {
  return 'This action adds a new user';
}CreateUserDto에 있는 몇가지 유효성 검사 규칙을 추가할 수 있다. 이런 규칙을 적용한 후 엔드포인트에 도달한다면 자동으로 Bad Request를 보내주는 등 해준다.
import { IsEmail, IsNotEmpty } from 'class-validator';
export class CreateUserDto {
  @IsEmail()
  email: string;
  @IsNotEmpty()
  password: string;
}Author And Source
이 문제에 관하여([TIL] NestJS 공부 26일차), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@ingyocode/TIL-NestJS-공부-26일차저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
                                
                                
                                
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)