inflearn logo
강의

Course

Instructor

[Code Factory] [Beginner] NestJS REST API Backend Complete Conquest Master Class - NestJS Core

Applying Cursor Pagination

[공유] DTO optional 필드가 undefined로 잡혀 TypeORM 조건이 깨지는 현상

92

mochafreddo

3 asked

0

Postman 테스트 중 데이터를 받아오지 못하는 문제가 생겨 원인을 찾아보았습니다.

같은 문제를 겪는 분이 계시면 참고하세요.

 

이하 AI로 작성되었습니다.

 

 

 

 

 

이 케이스를 막는 옵션은

등이 있습니다.

javascript typescript rest-api nestjs backend

Answer 2

1

potato9801245279

저랑 똑같은 문제를 겪으셨군요 ㅋㅋㅋㅋ

강의가 2023년도 버젼이라 그런거 같네요

 

0

communityai8509

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

목화님이 문의하신 내용은 TypeScript 환경에서 DTO 필드가 초기화되지 않은 경우, undefined 값이 의도치 않게 동작하는 현상에 대한 것입니다. 이와 관련된 문제는 현대 TypeScript 환경에서 종종 발생할 수 있는 이슈로, 특히 target 설정이 ES2022 이후 버전으로 설정된 경우에서 나타납니다.

문제의 원인 및 해결 방법에 대한 요약:
- 문제 원인: TypeScript에서는 DTO 필드가 초기화되지 않는 경우에도 클래스 인스턴스를 만들 때 undefined 값으로 필드가 존재합니다. 이 때문에 Object.entries(dto) 등으로 필터를 만들 경우 undefined 값이 포함되면서 불필요한 조건이 생성될 수 있습니다.

  • 해결 방법: 필터 조합 시 undefinednull 값을 명시적으로 제거하는 로직을 추가해야 합니다. 예를 들면, common.service.ts에서 undefined/null 검사를 추가하여 필터 조합 로직에서 이러한 값을 스킵하도록 해야 합니다.

또한, 이와 유사한 문제를 해결하기 위해 커스텀 파이프를 작성하여 undefined 값을 제거하는 방법이나, class-transformer 패키지를 사용하여 DTO 객체를 “undefined 없는 형태”로 변환하는 방법도 고려해 볼 수 있습니다.

유사한 상황에 대한 기존 답변을 찾기 위해 다음과 같은 관련 질문 URL을 추천드립니다:
- Paginate에서 overrideFindOptions 문제
- 정렬에 대한 질문

이 답변이 도움이 되셨으면 좋겠습니다. 저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.

현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

cascade 질문

0

35

1

@types/bcrypt 설치과정이 누락된것같습니다.

0

41

1

process.env port key 에러

0

43

1

추상화

0

45

1

where 키워드가 들어가는 메서드와 아닌 메서드

0

53

1

BearerTokenGuard에서 db를 조회해서 유저 정보를 불러오는 이유?

0

66

1

app.controller app.service 는 지워도되나요?

0

67

1

@JoinColumn을 쓰는 경우와 안쓰는 경우의 차이

0

75

1

포트 3000에서 listen하는 곳까지 넘어가지 않습니다.

0

62

1

PickType 사용 시 `as const`를 꼭 사용해야 하나요?

0

99

2

socket connect 오류

0

95

2

강의를 들으면서 궁금한 점

0

95

2

DELETE 요청의 반환값은 어떤 기준으로 결정하는 게 좋을까요?

0

55

2

커리큘럼 질문

0

95

2

put 요청은 언제

0

88

3

typeorm VS prisma

0

339

2

142 강의 > 4:00 > 포스트멘 활용 관련 질문 드립니다.

0

74

2

User 데코레이터 버그 수정 전달드립니다.

0

64

1

git 주소 부탁드립니다.

0

109

2

nest g resource 명령어 에러

0

97

2

로그인 엔드포인트 관련 질문

0

81

2

yarn으로 express 다운 후 node 2_server.js 실행 안되는 경우

0

143

3

"흔히 사용되는 메서드" 강의 관련 질문입니다~

0

93

2

@nestjs/serve-static

0

105

2