본문 바로가기
  • Let's study
BackEnd/Java

[Java] 명언 게시판 - 검색 및 페이징 구현

by 코딩고수이고파 2026. 7. 26.

1. 검색 기능 구현

검색 기능 구현 (keywordType, keyword 지원)

처음에는 하나의 파라미터만 처리하도록 구현하였다.

이후 keywordType과 keyword 두 개의 파라미터를 모두 받을 수 있도록 수정하여 검색 기능을 완성하였다.

예를 들어 다음과 같은 명령을 처리할 수 있다.

 

목록?keywordType=content&keyword=과거
목록?keywordType=author&keyword=작자미상

 

검색 조건에 맞는 명언만 조회하도록 Repository의 조회 로직을 수정하였다.

🔗  관련 커밋

2. 페이징 기능 구현

목록이 많아질 경우 한 번에 모두 출력하지 않고 페이지 단위로 조회하도록 구현하였다.

처음에는 1페이지에서 최근 명언 5개를 출력하도록 구현하였다.

이후에는 페이지 크기를 고정하지 않고 사용자가 직접 지정할 수 있도록 수정하였다.

 

목록?page=2&pageSize=10

 

처럼 요청하면 페이지 번호와 페이지 크기를 모두 반영하여 조회하도록 구현하였다.

🔗  관련 커밋

3. PageDto 도입 리팩토링

PageDto 도입

페이징을 구현하다 보니 페이지 번호, 전체 페이지 수, 페이지 크기 등 여러 값을 함께 전달해야 하는 경우가 많아졌다.

이를 하나의 객체인 PageDto로 묶어 관리하도록 리팩토링하였다.

또한 중복되는 계산 로직을 별도의 메서드로 분리하여 코드의 가독성과 유지보수성을 높였다.

🔗  관련 커밋

4. 현재 페이지 정보 출력

목록 출력 후 현재 페이지가 전체 페이지 중 어디에 위치하는지 확인할 수 있도록 페이지 정보를 출력하였다.

예를 들어 전체 페이지가 2페이지이고 현재 1페이지를 조회 중이라면 다음과 같이 표시된다.

 

[1] / 2

🔗  관련 커밋

댓글