-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: offset 기반 리크루트 목록 조회 추가 #282
feat: offset 기반 리크루트 목록 조회 추가 #282
Conversation
public class GetRecruitsReqDto { | ||
private Long cursor; | ||
private Integer next; | ||
|
||
@NotBlank | ||
private String category; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- Cursor 기반일때는 Long타입일텐데 Integer로 받아도 괜찮을까요?
- Cursor를 받을때는 디폴트가 -1, page를 받을때는 디폴트가 1로
Pageble 또는 PageRequest의 page는 0부터 시작이니까 1을 빼주는 로직이 들어가야 할 것 같은데 cursor기반과 offset 기반의 페이지네이션을 하나의 dto로 관리하게 되면 문제가 발생하지 않을까 합니다.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
-
Long.valueOf로 해당 부분을 감싸서 처리하고 있으므로 별도의 에러는 발생하지 않습니다.
-> Integer 범위를 넘어설 정도로 게시글이 등록되는 경우 문제가 되겠지만, 현실적으로 불가능한 수치이므로 문제가 없다고 생각해요. -
Cursor
-> PageRequest로 만들때, 해당 부분을 별도 처리하도록 수정하겠습니다.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
프론트 요청 사항으로 해당 부분 cursor, page로 스타일 일관되게 맞춘후, 해당 부분 인터페이스로 따로 빼서 쿼리 공유해서 쓸수 있게 해볼게요.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
고생하셨습니다!
@@ -44,63 +43,100 @@ public class RecruitDynamicQueryRepositoryImpl implements RecruitDynamicQueryRep | |||
private final JPAQueryFactory jpaQueryFactory; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
JPAQueryFactory 가져다 쓰면 따로 RecruitDynamicQueryRepository를 통해 Override 할 필요가 없지 않을까 해서 의견 남겨봅니다
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
배포후 제거해도 문제가없으면 삭제할게요.
Slice<Recruit> recruitPages = recruitRepository.findRecruitSliceByGetRecruitsReqDto(getRecruitsReqDto, pageable); | ||
GetRecruitsResDto recruitsResDto = GetRecruitsResDto.fromPageAndMemberId(recruitPages, loginMemberId); | ||
if(!recruitsResDto.getRecruits().isEmpty()) { | ||
addRecruitParticipants(recruitsResDto); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
나중에 리팩토링 고려할 수도 있겠지만
recruitRepository.findRecruitSliceByGetRecruitsReqDto를 통해 필요한 데이터들만 Projection해서 가져오고
GetRecruitsResDto로 만드는 방법은 어떻게 생각하시나요
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
해당 부분은 batch default를 이용해서 연관관계로 끌고오는 로직이 많아 당장에는 projection만으로 해결이 불가능해보입니다. 데이터 베이스 설계부터 다시 해야될 필요가 있을 것 같아요.
e318f82
to
e7b92f5
Compare
Issues
구분
주요 변경점
스크린샷
기타