페이징처리 관련 질문
251
작성한 질문수 1
안녕하세요 호돌맨님! 강의를 들으며 따라하고 있었는데 조금의 예외를 주니 오류가 발생하여 문의드립니다.
페이징 처리 도중
@Builder.Default를 통해 기본값 처리를해서 get /posts를 할때 인자값을 주지 않아도 페이지 1과 10개의 값을 가져오도록 하셨는데
테스트에서 /posts만 넘겨주니 null 포인트 오류가 발생하더라구요.
따로 디버깅을 통해 getSize()나 getPage()를 통해 확인해보니 값이 null로 설정 되어있었습니다. 혹시 이부분에 해결방법이 있을까요?
답변 1
0
안녕하세요. 호돌맨입니다.
질문을 남겨주셔서 감사합니다.
테스트 하신 게 맞습니다.
@Builder.default는 http요청시 스프링에서 값을 주입할때 사용되지 않고 Builder 패턴을 통해 값을 세팅할때 (테스트 코드에서)작동합니다.
예를들어 PostSearch.java 각 멤버변수에 @Builder.default가 빠진 상태로 아래 코드를 테스트 하면 실패하겠죠.
@Getter
@Setter
@Builder
public class PostSearch {
private static final int MAX_SIZE = 2000;
private Integer page = 1;
private Integer size = 10;
}
@Test
void test1() {
// given
PostSearch request = PostSearch.builder()
.build();
// expected
assertEquals(request.getPage(), 1);
}
그렇다면 page, size같은 값을 누락한생태로 http 요청을 날렸을때 null이 아닌 기본 값을 세팅하게 하려면 어떻게 해야할까요? 연구해보시고 저도 알려주세요.
제가 알려드린 거 외에 예외를 생각하며 테스트 하셔서 감사합니다. 개발자에게는 그러한 호기심과 실험은 굉장이 중요하다고 생각합니다.
감사합니다.
Deprecated 관련 사항들
0
128
2
깃헙 collaboator 초대 관련
0
104
1
강의 듣다가 도커 이미지 생성시 각각도 가능하나 그렇게 사용하는데가 많은지 모르겠다라는 말을 듣고 남김니다
0
171
2
logout 후에 login 페이지 이동은 어디서 시켜주는건가요?
0
243
1
다중 데이터를 삭제 할 때
0
294
2
querydsl Q class 이슈
0
433
2
Windows WSL Vue 설정
2
255
1
Dip, @transactional
0
199
1
[vite] http proxy error: /auth/login
0
1069
2
로그인 하고 나서 GET요청으로 메인페이지 요청
0
246
2
GitHub Collaborator 초대 관련
0
283
2
Window에서 Vue.js 설정
0
334
2
collaboator로 초대받을 수 있을까요??
0
298
2
SecurityMockContext 로부터 유저 정보를 가져오기
0
276
1
섹션9 프론트의 코드를 보고싶습니다,,,
0
427
1
Spring Security - defaultSuccessUrl 질문
0
639
1
강의 화면이 나오지 않습니다. 음성과 자막만 나와요
0
313
1
JPAQueryFactory(em)의 객체 생성자 오류에 대해서 질문이 있습니다ㅜㅜ
0
702
2
ExceptionHandler가 AccessDeniedHandler(Http403Handler)를 먹어버리는 현상
0
1186
2
섹션10 언제 나오나요?
0
489
1
CommentService에서 Repository를 호출하지 않는데도
0
346
1
Editor....를 활용한 패턴에 질문있습니다.
0
500
1
섹션9 vue
0
460
2
Post에 edit 메서드 삼항연산자 질문
0
480
2





