Pipe란?
- 파이프는 @Injectable() 데코레이터로 주석이 달린 클래스이다.
- 파이프는 **data transformation(데이터 변형)**과 **data validation(데이터 유효성 체크)**을 위해 사용 된다.
- 파이프가 없으면 바로 handler로 가게 된다.
- 유효성 체크를 하여 실패하면 오류가 나게된다.
- 컨트롤러 경로 처리기에 의해 처리되는 인수에 의해 작동한다.
- nest는 메소드가 호출되기 직전에 파이프를 삽입하고, 파이프는 메소드로 향하는 인수를 수신하고 작동한다.
Data Transformation ?
Data Validation ?
Pipe를 사용하는 법
- Handler-level Pipes
- 핸들러에만 적용된다.
- @UsePipes() 데코레이터를 이용해서 사용할 수 있다.
- 모든 파라미터에 적용된다.
- Parameter-level Pipes
- global-level Pipes
- 클라이언트에서 들어오는 모든 요청에 적용된다.
- 가장 상단 영역인
main.ts
에 넣어준다.
파이프 종류