7장, 8장 - 파이프, 영속화
2023. 4. 6. 16:46ㆍ개발 관련 책 읽기/NestJS로 배우는 백엔드 프로그래밍
✅ 아래 내용들에 대해서 알아보자
- 파이프
- 영속화
파이프
파이프는 요청이 라우터 핸들러로 전달되기 전에 요청 객체를 변환할 수 있는 기회를 제공한다.
파이프는 보통 2가지 목적으로 사용한다
- 변환: 입력 데이터를 원하는 형식으로 변환, ex) /users/user/1내의 경로 매개변수 문자열 '1'을 number로 변환
- 유효성 검사: 입력 데이터가 사용자가 정한 기준에 유효하지 않은 경우 예외 처리
@nest/common 패캐지에 여러 내장 파이프가 존재한다
- ValidationPipe
- ParseIntPipe
- ParseBoolPipe
- ParseArrayPipe
- ParseUUIDPipe
- DefaultValuePipe
ParseIntPipe 예시
async findOne(
@Param('id', new ParseIntPipe({ errorHttpStatusCode: HttpStatus.NOT_ACCEPTABLE }),) id: number,
) {
return 1;
}
DefaultValuePipe 예시
@Get('/all')
findAll(
@Query('offset', new DefaultValuePipe(0), ParseIntPipe) offset: number,
@Query('limit', new DefaultValuePipe(10), ParseIntPipe) limit: number,
) {
console.log(offset, limit);
}
유효성 검사 파이프 만들기
ts/js 런타임시 유효성 검사를 위한 패키지인 class-validator와 class-transformer 라이브러리를 사용하여 유효성 검사를 해보자.
npm i --save class-validator class-transformer
@IsString()
@MinLength(1)
@MaxLength(20)
private _name: string;
@IsEmail()
private _email: string;
private _password: string;
영속화
ts/js 런타임시 유효성 검사를
반응형
'개발 관련 책 읽기 > NestJS로 배우는 백엔드 프로그래밍' 카테고리의 다른 글
5, 6장 - 모듈/동적 모듈 (0) | 2023.04.05 |
---|---|
4장 - 프로바이더 (0) | 2023.04.04 |
3장 - Hello NestJS (0) | 2023.04.04 |
1장 - Hello NestJS (0) | 2023.04.03 |