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

딱구님의 프로필 이미지

작성한 질문수

실전! Querydsl

프로젝션과 결과 반환 - DTO 조회

DTO는 목적마다 여러개 생성해서 사용하는건가요?

해결된 질문

작성

·

8.5K

0

안녕하세요! 강의 너무 잘 듣고있습니다.

다름이 아니라, DTO관련해서 의문점이 하나 생겨서 문의드립니다.

API Controller에서 요청 데이터를 받는 것도 DTO, 응답 데이터를 전달해주는 것도 DTO를 사용하라고 하셨는데, 데이터 조회에도 DTO를 사용하는 경우가 많다고 하셨습니다.

그럼 DTO를 목적마다 다 생성해서 사용하는 것이 좋은 설계인건가요??

아니면, 이용하는 필드가 같은 경우,

~ 예를 들어 "DB조회에 이름, 나이 조회" & "요청 데이터에 이름, 나이 입력" 인경우 ~

에는 DTO를 공용으로 사용하는걸까요? DTO를 언제, 어떻게 만들어서 사용해야 할지 잘 감이 안옵니다 ㅠㅠ

답변 1

3

안녕하세요. 딱구님, 공식 서포터즈 OMG입니다.

목적마다 DTO를 생성하는게(해당 목적에 맞는 DTO를 FIT 하게 생성) 재사용/재활용 관점에서 비효율 적이고 (같은 목적이 여러개가 아니라 단일 일 경우) 목적마다 DTO를 만들면 클래스가 늘어나는 단점이 있는데요,

추후 문제가 발생할 여지가 적어 목적마다 생성하는게 안전한 방향인 것 같아 선호합니다.

아래를 참고하시면 제가 말씀드린 클래스가 늘어나는 단점을 보완한 방법이 소개되어 있으니 참고해주세요 :)
https://velog.io/@aidenshin/DTO%EC%97%90-%EA%B4%80%ED%95%9C-%EA%B3%A0%EC%B0%B0

감사합니다.

딱구님의 프로필 이미지
딱구
질문자

빠른 답변 너무 감사드립니다. 좋은 하루 되세요!

추가로 아래 영한님 답변도 확인하시면 인사이트를 얻으실 수 있을거에요^^

https://www.inflearn.com/questions/72423

딱구님의 프로필 이미지
딱구
질문자

앗 감사합니다!

딱구님의 프로필 이미지

작성한 질문수

질문하기