인프런 커뮤니티 질문&답변

Chansoo님의 프로필 이미지

작성한 질문수

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

예외 통합 (섹션 14 과제 후 추가 영상)

nestjs+graphql로 작업할때 response도 dto로 만들어야하나요?

해결된 질문

작성

·

510

·

수정됨

0

선생님, 질문두가지 드릴게요, 감사합니다

1. nestjs+graphql로 작업할때 response도 dto로 만들어야하나요?

2. class-validator를 entity에서 사용하고 dto를 pick, omit으로 상속받는게 좋나요? 아니면 dto들에서 따로 class-validator를 적용하는게 좋나요?

 

답변 1

0

노원두님의 프로필 이미지
노원두
지식공유자

안녕하세요! Chansoo님!

해당 질문은 상황에 따라 다르기때문에 조금 더 상세히 답변드리도록 할게요!

  1. 일반적으로 graphql의 경우, schema로부터 타입이 만들어지게 되므로, 이것을 dto로 사용하실 수 있어요!
    다만, 우리가 담고싶은 결과물을 따로 만들어서 담아 보내줄 필요가 있는 부분들에 대해서는, dto를 만들어서 넣어 보내주시면 되겠습니다!^^



  2. entity와 dto가 기본적인 측면에서는 거의 비슷하다고 많이 느끼실 거예요!
    하지만, 실제로 규모가 커지게 되면서 dto와 entity는 점점 달라지는 것을 확인하실 수 있답니다!
    동일한 필드에 대해서도, 입력받을 때와 이를 다듬어서 DB에 집어넣을 때 역시 달라질 수 있겠죠?!
    따라서, 어떤 방식이 무조건 맞다라기 보다는 상황에 맞게 처리하시면 좋을 것 같은데,
    entity에 적용하고 dto에서 상속받되, 검증이 달라지는 필드는 오버라이딩하시는 것을 추천드려요!
    혹시, 규모가 커지면서 복잡해진 구조 상황아래 entity에 반영된 내용이 자동으로 dto에 영향을 주는 상황을 피하고자 하신다면, omit 타입보다는 pick 타입을 사용하여 상속받는 것을 추천드려요!

Chansoo님의 프로필 이미지

작성한 질문수

질문하기