강의

멘토링

로드맵

Inflearn Community Q&A

ggyool0249's profile image
ggyool0249

asked

Microservice Application (MSA) Development with Spring Cloud

Users Microservice - User Inquiry ③

UserDto 객체가 ResponseOrder 리스트를 가지고 있는 부분에 대해 질문드립니다!

Written on

·

431

0

해당 프로젝트애서 DTO를 사용하는 이유가 각 계층 간 의존을 느슨하게 하기 위해 사용한다고 이해하고 있습니다.

강의에서는 controller --> service 간 데이터 교환시 request -> dto로 변환해서 보내주고 있고요.service --> controller 의 경우 entity -> dto 로 변환하여 보내주고 있습니다.

@Data
public class UserDto {

private String email;
private String name;
private String pwd;
private String userId;
private Date createAt;
private String encryptedPwd;

private List<ResponseOrder> orders;
}

이 부분에서 UserDto가 ResponseOrder 리스트를 가지고 있는 구조가 이상적인가? 라는 의문이 들었습니다.Response 객체는 controller 에서 클라이언트로 응답하기 위한 객체로 controller 에서만 알고 있어야 이상적이라고 생각합니다. 그러기위해 DTO를 이용하고 있다고 생각하는데요.

ResponseOrder 대신 OrderDto를 두는 게 더 좋지 않을까? 하는 질문을 드려봅니다.상당히 사소한 문제라는 생각도 들지만 강사님의 의견이 궁금하여 질문드려요. 강의 잘 듣고 있어요 좋은 강의 감사합니다 😄

JPAspring-cloudarchitecturespring-bootmsaKafka

Answer 1

1

Dowon Lee님의 프로필 이미지
Dowon Lee
Instructor

안녕하세요, 이도원입니다. 

말씀하신 것처럼 DTO와 Response 객체를 구분하여 작성하셔도 됩니다. 다만, User에 포함되어 있는 Order객체는 외부 서비스(order-service)에서 가져와서 사용하게 되는 부분이라, order-service와의 통신에서 가져올 때 사용된 ResponseOrder 객체를 그대로 사용했습니다.  ResponseOrder를 OrderDto로 한번 더 변환하셔도 상관없을 것 같습니다.

감사합니다.

tree님의 프로필 이미지
tree
Questioner

아 사용에 그런 의미가 있었군요 !

답변 감사합니다 😁

ggyool0249's profile image
ggyool0249

asked

Ask a question