내부 클래스가 많은 경우의 Response에서 DTO클래스 생성에 관하여 질문드립니다.
514
작성한 질문수 11
안녕하세요 강사님
강의 너무 잘 듣고 있습니다ㅎㅎ
강의 내용을 실무에 적용하다가 DTO클래스에 관하여 질문이 생겨 글을 남깁니다.
다름이 아니라 강의처럼 모든 요청마다 ResponseDTO를 따로 만들려고 하다보니 생긴 문제인데
제 프로젝트의 경우, 한 엔티티가 연관관계를 가진 엔티티가 좀 많습니다.
그렇다보니 DTO를 반환할 때 내부 클래스들이 많아지는데
모든 내부 DTO클래스들을 적다 보니 너무 길어지는데요,
//어노테이션 생략
public static class DTO_A{
...변수 생략
DTO_B b;
public static class b{
...변수생략
List<DTO_C> list;
public static class DTO_C{
//...변수 생략
}
}
}
(예를 들면 이런식입니다.)
이런식으로 한 클래스 안에 속한 내부 클래스가 많아 DTO 내용이 너무 방대한 경우(각 변수들이 필요하다고 가정하고 )
코드 량이 너무 길어져서 작성 및 유지보수가 힘들것 같은데
이 경우에는 어떻게 하면 좋을지에 대한 강사님의 생각을 여쭤보고 싶어서 질문드립니다.
감사합니다!
답변 1
1
안녕하세요. Chung A님^^ 좋은 질문입니다.
1. 꼭 내부 클래스로 유지하지 않아도 됩니다. 같은 패키지에 클래스를 꺼내두어도 됩니다.
2. 여러 조회 API를 제공해도, 변경 시점에 같이 변해야 하는 DTO는 같이 사용하면 됩니다.
3. 변경 시점에 함께 변하면 안되는 DTO는 모양이 똑같더라도, 별도의 클래스로 생성합니다.
중요한 것은 함께 변해야 하는 것은 같이 묶고, 함께 변하면 안되는 것은 아무리 코딩량이 많아져도 따로 만들어야 합니다. 이게 중요합니다^^!
감사합니다.
강의 관련 외 질문입니다.
0
64
2
SpringBoot4 + Hibernate7 모듈 등록 방법 공유
0
85
1
BeanCreationException
0
86
3
Update 후 UpdateMemberResponse 매핑할 때
0
46
1
트랜잭션을 사용 안 할 때 커넥션은 언제 가져오나요?
0
98
2
페이징 + 검색조건 관련해서 질문드립니다.
0
70
1
Query Dsl Q파일 질문입니다.
0
81
1
루트 쿼리라는것은
0
58
1
메서드를 분리하는 기준
0
61
1
findAllWithMemberDelivery 메서드 질문드립니다.
0
108
3
연관관계 매핑을 안 쓸 경우, 사용해야 하는 전략
0
83
2
fetch join과 영속화와 OSIV의 관계
0
83
2
Distinct 사용 전 결과에 대한 의문
0
113
2
레포지토리 계층에서의 트랜잭션에 대한 의문
0
55
1
영속성 컨텍스트 생명주기의 신기한 부분이 있습니다.
0
77
2
dto 필드 속 엔티티 여부
0
58
1
뷰템플릿 사용 시
0
76
2
Result 클래스 관련 질문
0
56
1
@PostConstruct 프록시 관련 질문드립니다
0
85
1
DTO 대신 Form 사용은 안되나요?
0
133
1
OSIV ON 상태일 때
0
95
1
fetch join VS fetch join 페이징 궁금증
0
179
2
양방향 연관관계 알아보는 법?
0
104
1
16강 17강 간단 정리 이게 맞을까요 ?
0
165
2





