[typescript] Nest.js에서 타입스크립트 파이프 사용하기
Nest.js는 TypeScript로 개발할 수 있는 서버사이드 애플리케이션을 빌드하기 위한 프레임워크입니다. Nest.js는 기본적으로 나만의 파이프(pipes)를 만들어 사용할 수 있도록 지원합니다. 파이프는 요청 전후에 데이터 변환, 유효성 검사, 인증, 로깅 등을 할 수 있어 매우 강력한 기능입니다.
이번 포스트에서는 Nest.js에서 파이프를 어떻게 생성하고 사용하는지 알아보겠습니다.
Nest.js 파이프 만들기
우선, Nest.js 애플리케이션 내에서 파이프를 만들어보겠습니다.
-
먼저, 파이프를 생성하기 위해
pipes
디렉토리를 만듭니다. -
그리고 아래와 같이 파이프 클래스를 생성합니다.
// pipes/validation.pipe.ts
import { PipeTransform, Injectable, ArgumentMetadata, BadRequestException } from '@nestjs/common';
@Injectable()
export class ValidationPipe implements PipeTransform {
transform(value: any, metadata: ArgumentMetadata) {
// 변환 로직 작성
return value;
}
}
Nest.js 파이프 사용하기
파이프를 만들었으면, 이를 컨트롤러나 프로바이더에 적용할 수 있습니다.
- 먼저
@UsePipes
데코레이터를 사용하여 파이프를 적용할 위치를 지정합니다.
import { Controller, Get, Post, Body, UsePipes } from '@nestjs/common';
import { ValidationPipe } from './pipes/validation.pipe';
@Controller('cats')
export class CatsController {
@Post()
@UsePipes(new ValidationPipe())
create(@Body() createCatDto: any) {
// 요청 데이터 변환 및 유효성 검사
}
}
위 예제에서는 CatsController
의 create
메서드에 ValidationPipe
를 사용하여 요청 데이터의 변환과 유효성 검사를 수행합니다.
Nest.js에서 파이프의 사용법에 대해 알아보았습니다. 파이프를 사용하면 요청 데이터의 유효성을 검사하거나, 데이터를 변환하는 등의 작업을 효과적으로 처리할 수 있습니다. 앞으로 Nest.js로 서버사이드 애플리케이션을 개발할 때, 파이프를 효과적으로 활용해보세요.
더 많은 정보는 Nest.js 공식 문서를 참고하시기 바랍니다.