[nestJS] 정의하지 않은 DTO property 걸러내기

yoon-bomi·2023년 4월 13일
0
post-thumbnail
post-custom-banner

nest js 를 사용해 dto 를 검증하다보니 정의하지 않은 property 가 들어왔을 때 어떻게 처리해야할지 궁금해졌다.

찾아보니 Koa joi 의 stripUnKnown 같은 기능을 하는 whitelist 옵션이 있다는 것을 알게 되어 사용법과 사용 결과를 정리해본다.




whitelist 적용 방법

적용 방법은 매우 간단하다. ValidationPipe 의 옵션으로 넣어주면 된다.

매서드 단위로도 작성이 가능하지만 나는 글로벌로 적용했다.

  app.useGlobalPipes(new ValidationPipe({ whitelist: true }));



결과

  • whitelist: false 일 경우

    dto 에 정의하지 않은 test property 가 body params 로 함께 들어와버린 것을 확인할 수 있다.

  • whitelist: true 일 경우


dto 에 정의하지 않은 test property 가 제거되어 body params 로 들어온다.

profile
웹 풀스택에서 백엔드로 진화중 🧚🏻‍♀️
post-custom-banner

0개의 댓글