-
여러 가지 데이터를 전송할 땐? 쿼리 파라미터 DTO 써보기.프로젝트 2023. 12. 8. 21:11
호텔 예약 서비스이다.
보다 싶이 스테이 유형, 가격 범위, 그리고 이미지에는 바로 나와있지 않지만 지역에 따른 필터 등 5가지 필터가 존재 한다.
이 기능을 구현하는데에 어려움을 겪었는데, 그건 바로 '일반적인 쿼리스트링으로는 선택적인 필터 사용 불가' 라는 점이다. 카테고리 별 디폴트 값이 필수로 있는 것이 아니거나 있어야 할 경우 비효율적인 경우도 있었기 때문에 이는 골치아픈 문제가 아닐 수 없었다.
이 문제를 해결하기 위해서 query parameter DTO(Data Transfer Object)를 사용하여 선택적인 query data를 받을 수 있었다.
이런 경우 여러 데이터를 주고 받을 때 가독성도 좋고, 객체로 한 번에 주고 받기 때문에 편리하다.
사실 프로젝트를 진행하다가, 필터가 한두 개 뿐이였을 땐 문제가 발생하지 않았지만, 점차 필터 갯수가 늘어나며 생긴 이슈이다.
필터 갯수가 늘어날 때 마다 백엔드 쪽에서 "일단 파라미터 갯수 덕지덕지 붙여가며 늘리자"며 문제가 일어나지 않을 때까지 지내다 경험한 이슈다.
백엔드와 프론드엔드간 원활한 의사소통을 통해, QueryBuilder 기능을 사용하여 데이터를 클라이언트에게 알맞게 반환할 수 있었다.
'프로젝트' 카테고리의 다른 글
[개인 프로젝트] 맛집 애플리케이션 (0) 2024.05.08 UseEffect의 dependency(의존성) 관리 (0) 2024.05.08 [팀 프로젝트] 호텔 예약 서비스 PLUSPLUS (0) 2023.12.13 [JavaScript] 페이지 이동간 권한 체크는 언제? (0) 2023.12.11 프로젝트 시작하기에 앞서 협업 준비 (0) 2022.05.23