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
🔗 관련 커밋
'BackEnd > Java' 카테고리의 다른 글
| [Java] 명언 게시판 - 파일 기반 Repository 리팩토링 (0) | 2026.07.27 |
|---|---|
| [Java] 명언 게시판 - 파일 저장 및 JSON 직렬화 구현 (0) | 2026.07.26 |
| [Java] 명언 게시판 - TDD 적용하기 (0) | 2026.07.23 |
| [Java] 명언 게시판 만들기 - 레이어드 아키텍처 & 리팩토링 (0) | 2026.07.22 |
| [Java] 명언 게시판 만들기 - 리팩토링, Rq 클래스 (0) | 2026.07.21 |
댓글