Skip to content

refactor: @PageableDefault 및 페이지 검증 로직을 ArgumentResolver로 개선 #246

@Gyuhyeok99

Description

@Gyuhyeok99

어떤 부분을 리팩터링하려 하나요?

페이지를 사용하는 곳 마다

@PageableDefault(page = 1) Pageable pageable
PagingUtils.validatePage(pageable.getPageNumber(), pageable.getPageSize());
Pageable internalPageable = PageRequest.of(pageable.getPageNumber() - 1, pageable.getPageSize());
코드가 사용될것이니, 이런 건 커스텀 페이지 객체 & argumentResolver를 적용해봐도 좋겠다는 생각이 드네요!

현재 각 컨트롤러에서 위 코드가 반복적으로 사용되고 있음
이러한 반복적인 로직을 줄이기 위해 커스텀 페이지 객체와 ArgumentResolver를 적용하여 일관된 방식으로 처리할 수 있도록 개선하고자함.

AS-IS

  • 컨트롤러마다 @PageableDefault, PagingUtils.validatePage(), PageRequest.of() 코드 반복

TO-BE

  • CustomPageRequest 객체를 만들어 PageRequest.of() 및 검증 로직을 포함
  • ArgumentResolver를 적용하여 컨트롤러에서 자동으로 변환 및 검증 처리
  • 컨트롤러에서는 CustomPageRequest 객체만 받아서 사용하도록 변경

작업 상세 내용

  • TODO
  • TODO
  • TODO

참고할만한 자료(선택)

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions