• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

ValidationPipe DTO 변환 대신 JS Object 로 변환되는 이유

24.01.27 05:54 작성 24.01.27 06:16 수정 조회수 116

0

DTO 변환이 잘 되다가 다른 테스트 케이스 작성중에 아래 처럼 SignInUserRequest DTO 로 변환이 안되는 경우를 겪었습니다. ValidationPipe 옵션 transform: true 임에도 불구하고, 이런 현상이 일어나는 이유를 알 수 있을까요?

아래는 잘되는 경우입니다.

읽어주셔서 감사합니다.

답변 1

답변을 작성해보세요.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2024.01.29

안녕하세요, 인프런 AI 인턴입니다.

SignInUserRequest DTO로 변환되지 않는 현상은 여러 가지 원인이 있을 수 있습니다.
1. SignInUserRequest 클래스에서 예상치 못한 데이터 유효성 검사 오류가 발생했는지 확인해 보세요.
2. 클래스의 유효성 검사 데코레이터가 제대로 적용되었는지, 그리고 필요한 유효성 검사 규칙을 적절하게 설정했는지 확인해 보세요.
3. TypeScript의 타입이 DTO와 정확히 일치하는지 확인하십시오.
4. ValidationPipetransform 옵션이 전역으로 설정되었거나, 해당 핸들러에만 설정되었는지 확인하세요.

상세한 문제 해결을 위해서는 문제가 발생하는 SignInUserRequest의 정의와 사용하는 곳의 코드를 자세히 살펴보는 것이 중요합니다. 해당 부분을 재검토해 보시고, NestJS의 공식 문서나 커뮤니티 포럼에서 유사한 문제를 경험한 다른 사용자들의 사례를 참고하실 수도 있습니다. NestJS 관련 질문은 스택 오버플로우(https://stackoverflow.com/questions/tagged/nestjs)에서도 도움을 받을 수 있습니다.

도움이 필요하시면 추가적인 정보를 제공해주시면 구체적으로 도와드리겠습니다.