인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

bluerain님의 프로필 이미지
bluerain

작성한 질문수

Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)

Orders Microservice - 기능 구현 ①

dto -> entity -> dto ?

작성

·

437

0

안녕하세요.

이번 강의에서 order-service의 createOrder() 메소드를 아래와 같이 작성해주셨는데요

 

public OrderDto createOrder(OrderDto orderDto) {

// orderDto에 orderId, totalPrice 세팅

// orderDto -> orderEntity로 매핑

orderRepository.save(orderEntity);

OrderDto returnValue = mapper.map(orderEntity, OrderDto.class);

return returnValue;

}

 

입력으로 받은 orderDto를 repository에 넘기기 위해 entity로 변환하는거까지는 이해가 되는데

그 이후에 왜 entity를 다시 dto로 변환해서 반환을 하나요?

그냥 입력받은 dto를 리턴하면 안되는가요? 굳이 dto -> entity -> 다시 dto 이런 흐름으로 코드를 작성하신 이유가 궁금합니다.

감사합니다.

 

답변 1

0

Dowon Lee님의 프로필 이미지
Dowon Lee
지식공유자

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

Entity는 어디까지는 영속적인 Data에 대한 정보를 저장하는 객체로 사용합니다. 그리고 DTO는 서비스나 객체간에 Data를 전달하기 위해 사용하고요, 사용 용도를 클라이언트의 요청/반환을 위해 DTO를 사용하고, 저장하는 부분과 같이 DB 관련 부분에서는 Entity를 사용하였습니다. 역할에 맞는 오브젝트를 사용하여 구성해 보았습니다. 

감사합니다. 

bluerain님의 프로필 이미지
bluerain

작성한 질문수

질문하기