[nest.js] Pipe Param & Query

김민재·2025년 4월 20일

nest.js

목록 보기
48/63

🚎 Pipe를 이용하여 컨트롤러에서 데이터 Param & Query 검증

Query & Param에 우리는 Number를 원하는데, 예상치 못하게 String을 적는다면 서버가 터진다.

  @Get(':id')
  getMovie(
    @Param(
      'id',
      new ParseIntPipe({
        exceptionFactory(error) {
          throw new BadRequestException('숫자를 입력해주세요.');
        },
      }),
    )
    id: number,
  ) {
    return this.movieService.getMovie(id);
  }
  • ParseIntPipe를 이용하여 Number 타입이 아니라면 Number로 변환해준다.원래는 String 그리고 에러를 던진다.

Pipe를 이용하여 컨트롤러에서 데이터 Param & Query 기본값 설정

  @Get(':id')
  getMovie(
    @Query('test', new DefaultValuePipe(10)) test: number,
  ) {
    return this.movieService.getMovie(id);
  }
  • DefaultValuePipe를 설정하면 Query를 작성하지 않아도 10이라는 값이 들어간다.
profile
개발 경험치 쌓는 곳

0개의 댓글