nestjs pipe

Siwoo Pak·2021년 12월 2일
0

Nesj.js

목록 보기
5/5

Pipe은 무엇인가?

  • Pipe는 @injectable() 데코레이터로 주석이 달린 클래스
  • 데이터 변경 및 유효성 검증을 위해서 사용됨
  • 컨트롤러 경로 처리기에 의해 처리되는 인수에 대해 작동함
  • Nest는 메소드가 호출되기 직전에 파이프를 삽입하고 파이프는 메소드로 향하는 인수를 수신하고 이에 대해 작동함

Pipe 사용해보기

  • Handler-level Pipes, Parameter-level Pipes, Global-level Pipes로 나뉘어짐
  • 핸들러 레벨에선 @UsePipes() 데코레이터를 이용해서 사용할 수 있음.
  • 이것은 모든 파라미터에 적용이 됨
@Post()
@UsePipes(pipe)
createBoard(
  @Body("title") title: string,
  @Body("desc") desc: string
) { ...}
  • 파라미터 레벨은 특정한 파라미터에게만 적용이 됨
@Post()
createBoard(
  @Body("title", ParameterPipe) title: string,
  @Body("desc") desc: string
) { ...}
  • 글로벌 레벨은 클라이언트에서 들어오는 모든 요청에 적용이 됨
  • 가장 상단 영역인 main.ts에 넣어주면 됨.
// main.ts
async function boot strap() {
 ....
 app.useGlobalPipes(GlobalPipes);
 ....
}
profile
'하루를 참고 인내하면 열흘을 벌 수 있고 사흘을 참고 견디면 30일을, 30일을 견디면 3년을 벌 수 있다.'

0개의 댓글