인프런 커뮤니티 질문&답변
DTO 분리 관련 질문
작성
·
864
0
안녕하세요.
DTO 분리에 관한 질문입니다.
MemberController에 대한 Request/Response DTO들을 만든다고 가정하겠습니다.
1. CreateMemberRequest, CreateMemberResponse, GetMemberRequest, GetMemberResponse를 각각의 클래스 파일로 분리해서 만드는 방법
2. MemberDto라는 클래스를 만들고 내부에 inner class로 CreateMemberRequest, CreateMemberResponse, GetMemberRequest, GetMemberResponse를 만드는 방법
이렇게 2가지를 생각하고 있는데요.
처음에는 1번으로 진행하려고 했지만 DTO하나를 클래스 파일 하나로 빼려다보니 나중에는 파일이 너무나도 많아질 것 같아 걱정이 됩니다.
그래서 2번처럼 inner class로 만들면 파일의 개수를 줄일 수 있을 것 같아서 고민중인데요.
https://velog.io/@ausg/Spring-Boot%EC%97%90%EC%84%9C-%EA%B9%94%EB%81%94%ED%95%98%EA%B2%8C-DTO-%EA%B4%80%EB%A6%AC%ED%95%98%EA%B8%B0
인터넷을 찾아보니 위 글 처럼 inner class로 활용하는 방법을 소개하는 글이 있더라구요.
궁금한점은, 실무에서는 DTO마다 별도의 클래스 파일로 분리하여 관리하는 방법과 inner class로 분리하는 방법 중 어떤 방법을 더 많이 사용하나요?
감사합니다 :)
퀴즈
API 개발에서 JPA 엔티티 객체를 요청 파라미터나 응답 값으로 직접 사용하는 것을 지양해야 하는 주된 이유는 무엇일까요?
데이터베이스 성능이 저하되기 때문입니다.
API의 스펙이 엔티티의 변화에 직접적으로 영향을 받기 때문입니다.
클라이언트 측의 데이터 파싱 로직이 복잡해지기 때문입니다.
네트워크 전송량이 불필요하게 증가하기 때문입니다.
답변 1
1
안녕하세요. teamhide님
분리하는 것을 선호하는 분들도 있고, 합치는 것을 선호하는 분들도 있습니다.
그런데 이 경우 먼저 분리하고 합치는 것은 나중에 고민하는게 더 나은 선택을 할 확율이 높습니다.
감사합니다.





