[Project] admin 등록된 영화 조회 및 검색

김호정's avatar
Oct 09, 2024
[Project] admin 등록된 영화 조회 및 검색
notion image
다음과 같은 창을 구현하고 위의 필터를 이용하여 보유중인 영화를 검색 할수 있게끔 구현했습니다.
notion image
컨트롤러에서 GetMapping으로 각 필터의 값을 받을수 있게 만들었습니다.
(required = false) 로 값이 있을 때만 값을 받고 각 값들을 가지고 Service로 넘어갑니다.
 
notion image
가져온 값들이 전부 null일때는 jpa에서 제공하는 findAll메서드를 이용해 데이터베이스에서 Movie객체들을 받고, 만약 필터에서 필요한 값이 하나라도 있을시, mFindAll메서드를 이용해 Movie 객체의 List를 받습니다.
notion image
Repository인터페이스의 mFindAll메서드는 다음과 같이 Query를 만들었고, 모든 Where절의 값들을 IS NULL일때와 아닐때를 처리 해주어, 받아온 값이 있을경우에만 해당 부분의 Where절이 들어가 원하는 Movie객체들을 받아올 수 있습니다.
사실상 findAll과 mFindAll메서드를 구분 짓지 않고 mFindAll만을 이용해 Service에서 사용할 수 있습니다.
결과적으로 브라우저에서 검색 필터의 값이 있든 없든 Service에서 mFindAll메서드 만으로 원하는 값들을 가져 올 수 있어 굳이 Service에서 값이 있고 없고에 따라 Repo의 메서드를 변경 할 필요가 없었습니다.
 
notion image
가져온 영화 객체의 List를 foreach문을 이용해 DTO로 변경하여 return 하고, 컨트롤러에서 DTO를 보내주게 됩니다.
 
 
Share article

keepgoing