@RestController
@RequiredArgsConstructor
public class OrderApiController {
private final OrderRepository orderRepository;
@GetMapping("/api/v1/orders")
public List<Order> ordersV1() {
List<Order> all = orderRepository.findAllByString(new OrderSearch());
for (Order order : all) {
order.getMember().getName();
order.getDelivery().getAddress();
List<OrderItem> orderItems = order.getOrderItems();
orderItems.forEach(o -> o.getItem().getName());
}
return all;
}
}
양방향 연관관계면 무한 루프에 걸리지 않게@JsonIgnore
를 추가
엔티티를 직접 노출하는 방법은 지양해야 한다.
참고하면 좋을 글
1. API 호출 시 FetchType.Lazy -> Json 오류 (InvalidDefinitionException - ByteBuddyInterceptor)
2. API 호출 시 FetchType.Lazy -> 무한루프
참고 :