쿼리 파라미터

Wony Lee·2023년 5월 21일
0

내가 구현하고 있는 커뮤니티 게시판에는 카테고리 별로 게시글 리스트를 뿌려주는 기능이 있다.

예를 들어, 게시판에 “아파트”라는 카테고리의 버튼이 있다면, 게시판 리스트의 카테고리는 다 “아파트”인 글이 뿌려져야 하는 것이다.

(현재 게시판에서 게시글에 이루어져 있는 것은, 제목, 작성자, 내용, 카테고리 이다)여기까지는 구현을 했다.

그런데 카테고리를 선택한 상태에서, 게시글 내용 페이지로 이동한 후에,
다시 이전 페이지로 돌아가면, 카테고리가 선택된 페이지 그대로가 유지되었으면 한다는 것이다.

예를 들어, 아파트 카테고리 버튼을 클릭하여, 아파트 카테고리로만 되어있는
게시글(view)을 보여준다.

그리고 다시 목록으로 돌아가는 버튼을 클릭하면, 아파트 카테고리 버튼도 클릭 되어있어야 함은 물론, 게시물도 아파트 카테고리 글이 보여야 한다.

즉, 이전에 선택한 카테고리를 유지한 체, 게시판을 이용하게 해달라는 것이다.

처음 이 요청사항을 보고, 어떻게 처리해야 할지 막막하였다. 그래서 우선 순위도 뒤로 미루었다가, 먼저 처리할 수 있는 요청사항을 처리한 뒤, 작업하였다.

처음에 드는 생각은, session 을 사용해야 할까? 생각하였다. 하지만 확신이 들지 않아, 이사님께 먼저 의견을 구하였다.

( tip!, 주니어 개발자는 자신의 판단 보다, 시니어한테 먼저 물어보아라!!)

이사님께서는, session에 저장하며, 구현하기에는 무리가 있다고 말씀하셨다.

그 부분에 나도 납득이 가는 것이, 카테고리 클릭에 따라, 카테고리에 관련 된 글이 보이기도하고, 전체 글이 보이기도 한다.
그 부분에 대해 처리가 어려울 수 있다는 점을 말씀하셨다.

그래서 추천하신 방법이, “쿼리 파라미터”이다.

이 부분은 그저 URL에 쿼리 파라미터의 TEXT만 변경하는 것이다.

실제로 “아파트”와 카테고리 글만 뿌려지기 위해, 다른 작업도 해줘야 한다.
Router.replace()는 URL 변경을 하고 게시물 리스트가 바뀌기 위한,

trigger 역할을 한다. 위와 같이 router.replace()
사용하면 카테고리를 관리하는 함수를 실행시킨다.!

그리고 그 함수 안에, 내가 클릭한 카테고리 버튼이 “아파트“라고 확실히 구분해주도록 만든다.
그런 다음, 서버애 보내는 요청에 카테고리가 아파트인 게시물만 리스트를 보내달라고 요청한다.

이것이 제대로 성공한다면, 카테고리가 “아파트”인 게시물만 보내줄 것이다.

쿼리 파라미터로 정보를 보내고 구분하는 법에 대해서, 한 번도 생각해 본 적이 없는데,
이번 프로젝트를 하면서, 이것이 얼마나 유용한 도구인지 알게 됐다.

profile
I can do it

0개의 댓글