Nest Pipe

ClassBinu·2024년 4월 12일

F-lab

목록 보기
3/65

Pipe

요청 처리 파이프라인에서 특정 데이터 처리 작업을 수행

https://docs.nestjs.com/pipes#global-scoped-pipes

이 그림이 파이프의 개념을 잘 나타내 줌.

파이프는 이용 사례
1. 변환: 입력 데이터를 원하는 형식으로 변환
2. 유효성 검사: 입력 데이터를 평가해서 유효한 경우 전달, 유효하지 않으면 예외 발생

Nest는 메소드가 호출되기 전에 직전에 파이프를 삽입하고, 파이프는 메소드에 대한 인수를 수신하여 작동
그 후 파이프를 통과한 값을 사용 함.

Nest 기본 내장 다양한 파이프가 있고, 커스텀도 가능.

파이프는 예외 구역 내부에서 실행
파이프가 예외를 발생시키면, 컨트롤러 메서드가 실행되지 않음!

Nest 내장 Pipe

@nestjs/common 패키지에 속함

  • ValidationPipe : DTO 규칙 검증
  • ParseIntPipe : 문자열 입력을 정수로 변환
  • ParseFloatPipe : 문자열 입력을 부동소수점 숫자로 변환
  • ParseBoolPipe : 문자열 입력을 불린 값으로 변환
  • ParseArrayPipe : 문자열을 배열로 변환
  • ParseUUIDPipe : 문자열이 UUID인지 확인
  • ParseEnumPipe : 문자열이 특정 열거형인지 확인
  • DefaultValuePipe : 특정 값이 누락되었을 떄 기본 값 제공
  • ParseFilePipe : 파일이 특정 조건을 만족하는 지 검사

파이프는 기본적으로 유효하지 않은 입력이 들어오면 예외를 발생시킨다.

데코레이터란 무엇인가?

데코레이터에 대해서 심화해서 학습해보기
Node뿐만 아니라 파이썬에서도 한 번 직접 구현해보면 좋겠음.

타입과 데코레이터 역할

0개의 댓글