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