• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

OrderDto stream -> for문으로 작성

23.01.19 01:18 작성 23.01.19 01:20 수정 조회수 288

0

stream 사용이 익숙하지 않아서 for문으로 대체해서 작성했는데요

Dto의 생성자에는 엔티티를 노출시켜도 괜찮은거죠?

@Data
static class OrderDto {
    private Long orderId;
    private String name;
    private LocalDateTime orderDate;
    private Address address;
    private OrderStatus orderStatus;
    private List<OrderItemDto> orderItems;

    public OrderDto(Order order) {
        orderId = order.getId();
        name = order.getMember().getName();
        orderDate = order.getOrderDate();
        address = order.getMember().getAddress();
        orderStatus = order.getStatus();
        //질문구간
        List<OrderItem> items = order.getOrderItems();
        orderItems = new ArrayList<>();
        for (OrderItem orderItem : items) {
            orderItems.add(new OrderItemDto(orderItem));
        }

    }

    @Data
    static class OrderItemDto {
        private String itemName;
        private int orderPrice;
        private int count;

        public OrderItemDto(OrderItem orderItem) {
            itemName = orderItem.getItem().getName();
            orderPrice = orderItem.getOrderPrice();
            count = orderItem.getCount();
        }
    }

답변 1

답변을 작성해보세요.

0

OMG님의 프로필

OMG

2023.01.19

안녕하세요. 김정훈님, 공식 서포터즈 OMG입니다.
.

네 생성자의 파라미터는 문제 없습니다. API 응답에는 엔티티 노출을 하지 않으면 됩니다 ^^
.
감사합니다.