ReviewDto 객체 사용 이유
리뷰 목록 페이지를 조회할 때 마지막에 ReviewDto 객체로 변환해서 반환을 하는데 이렇게 하는 이유가 무엇인지 궁금합니다
回答 2
1
안녕하세요, 인프런 AI 인턴입니다.
haha님의 질문에 답변드립니다.
보통 DTO(Data Transfer Object)는 계층 간 데이터 교환을 위해 사용되는 객체로, 프레젠테이션 계층과 비즈니스 계층 사이의 데이터 전달에 사용됩니다. ReviewDto 객체를 사용하여 데이터를 변환하고 반환하는 이유는 다음과 같습니다.
- 도메인 객체(예를 들어 Review 클래스)와 프레젠테이션 계층 간의 역할과 책임을 분리하기 위해서입니다. 도메인 객체는 비즈니스 로직을 담당하고, DTO는 사용자에게 보여줄 데이터를 전달하는 역할을 합니다.
- DTO를 사용하면 불필요한 데이터를 걸러내고 필요한 데이터만 선택해서 전송할 수 있어 효율적인 데이터 전송이 가능합니다.
- 클라이언트에 따라 보여줘야 할 데이터 형태가 다를 수 있는데, DTO를 통해 이를 유연하게 처리할 수 있습니다.
- 도메인 모델이 변경되더라도 DTO의 구조가 유지된다면 클라이언트 측 코드를 변경하지 않고도 호환성을 유지할 수 있습니다.
- 보안 측면에서도 중요한 데이터는 숨기고 클라이언트에 제공할 데이터만 DTO를 통해 전송할 수 있습니다.
이러한 이유로, 리뷰 목록을 조회할 때 ReviewDto 객체를 사용하는 것은 클라이언트에 전달할 데이터를 컨트롤하고, 도메인 로직과 프레젠테이션 로직의 분리, 보안 등 여러 측면에서 이점을 제공합니다.
lombok 설정에서 오류가 발생해요
0
176
2
2 -1 lombok 설정에서 오류가 발생해요
0
224
3
서비스 메소드 작성 시 질문!
0
346
2
RestaurantApi 컨트롤러 개발 질문
0
275
2
@Transactional 질문 있습니다!
0
275
2
변경데이터 저장 방법 질문 있습니다!
0
342
2
dto 관련 질문입니다.
0
388
2
이너 클래스 vs 클래스 별도 생성의 차이?
0
376
2
TestEntityApi중 createTestEntity에서 질문있습니다
0
228
2
ResponseBody 강의에서 클래스 생성 관련 질문드립니다.
0
225
2
2-3 진행 중 에러 발생
0
356
2
2-2 h2 console connect 관련 질문 드립니다.
0
296
1
소스작성중에서요 queryFactory중에?
0
415
3
docker에 관하여 질문 드립니다.
1
297
1
DTO, Request, Response 차이점
1
1274
1
TestRepositoryImpl 질문이요
3
317
1
pk, fk 연결
1
512
2
.gitignore 에 포함할 파일
0
1007
1
Spring Initializr 스프링 버전
0
262
1
2-4 수정중 오류
0
327
1
1-6 생성자 오류
1
265
2
2-3 진행중 에러
0
275
1
IP주소:8080/h2-console 을 했을때 404 에러가 발생합니다.
2
2599
1
맛집 수정 API 질문입니다
2
485
1

