해결된 질문
작성
·
510
·
수정됨
답변 1
0
안녕하세요! Chansoo님!
해당 질문은 상황에 따라 다르기때문에 조금 더 상세히 답변드리도록 할게요!
일반적으로 graphql의 경우, schema로부터 타입이 만들어지게 되므로, 이것을 dto로 사용하실 수 있어요!
다만, 우리가 담고싶은 결과물을 따로 만들어서 담아 보내줄 필요가 있는 부분들에 대해서는, dto를 만들어서 넣어 보내주시면 되겠습니다!^^
entity와 dto가 기본적인 측면에서는 거의 비슷하다고 많이 느끼실 거예요!
하지만, 실제로 규모가 커지게 되면서 dto와 entity는 점점 달라지는 것을 확인하실 수 있답니다!
동일한 필드에 대해서도, 입력받을 때와 이를 다듬어서 DB에 집어넣을 때 역시 달라질 수 있겠죠?!
따라서, 어떤 방식이 무조건 맞다라기 보다는 상황에 맞게 처리하시면 좋을 것 같은데,
entity에 적용하고 dto에서 상속받되, 검증이 달라지는 필드는 오버라이딩하시는 것을 추천드려요!
혹시, 규모가 커지면서 복잡해진 구조 상황아래 entity에 반영된 내용이 자동으로 dto에 영향을 주는 상황을 피하고자 하신다면, omit 타입보다는 pick 타입을 사용하여 상속받는 것을 추천드려요!