본문 바로가기

SpringBoot & JPA

(3)
패스트캠퍼스 챌린지 10일차 - JUnit & Mockito, RestTemplate 📌 JUnit & Mockito ✔️ 빈으로 관리되는 객체에 대한 Mocking @MockBean Mockito .when(mock객체의 메서드 호출) .thenReturn(리턴값 지정); ✔️ 컨트롤러 단위 테스트 ( @MockMvc ) @WebMvcTest(ControllerName.class) @AutoConfigureWebMvc @Import({ClazzA.class ClazzB.class}) // 필요한 빈 등록 @Autowired private MockMvc mockMvc; [ GET ] mockMvc.perform( MockMvcRequestBuilders .get(url) .queryParam("key", "value") ).andExpect( MockMvcResultMatchers.sta..
SpringBoot & JPA API설계-2 본 포스트는 김영한 님의 인프런 강좌를 수강 후에 정리한 내용입니다. 이번에는 엔티티 조회시 컬렉션(ToMany)이 포함된 경우 효율적인 조회 방법과 주의할 점 등을 정리해보겠습니다. 예제로 쓰인 엔티티들의 ERD는 이전 게시물을 확인해주세요. 주문 주회 API - v1 엔티티 직접 노출 @GetMapping("/api/v1/orders") public List orderV1() { List result = orderRepository.findAllByString(new OrderSearch()); for (Order order : result) { // Lazy 초기화 order.getMember().getName(); order.getDelivery().getAddress(); List orderIt..
SpringBoot & JPA API설계-1 본 포스트는 김영한 님의 인프런 강좌를 수강 후에 정리한 내용입니다. API설계에 쓰일 엔티티의 관계만을 나타내는 간략한 ERD 주문 조회 API - v1 엔티티를 직접 노출 @GetMapping("/api/v1/simple-orders") public List ordersV1() { List orders = orderRepository.findAllByString(new OrderSearch()); for (Order order : orders) { order.getMember().getName(); // Lazy 강제 초기 order.getDelivery().getAddress(); // Lazy 강제 초기화 } return orders; } 엔티티를 조회하고 조회된 엔티티 리스트를 그대로 리턴 만약..