[Spring] 쿼리 파라미터 여러개를 클래스로 받을 때, 모두 null로 오는 경우

soluinoon·2023년 6월 15일
0

트러블 슈팅

목록 보기
3/5

상황

쿼리 파라미터 여러개를 하나하나 @RequestParam을 사용해가며 받아가니 너무 길어졌습니다. 그래서 따로 클래스 하나를 만들어서 받았는데요, 갑자기 로그를 찍어보니 모두 null이 오는 상황이 발생했습니다.

원인

원인은 JPA 레포지터리 디버깅을 위해 작성했던 @NoArgsConstructor 때문이었습니다.

@Getter
@NoArgsConstructor
public class RecruitmentOptions {
    @NotNull
    private Long location;
    @NotNull
    private Long subLocation;
    
    public RecruitmentOptions(파라미터 전체)
    	대입;
        validateMinAndMax();
    }

제가 간과한 부분은 모든 인자를 파라미터로 받는 생성자를 validate와 함께 만들었기 때문에 그게 우선적으로 사용될거라 생각했습니다.
하지만 제 의도와는 다르게 @NoArgsConstructor를 우선으로 호출하는 것 같습니다.

해결

@NoArgsConstructor를 지우니 해결됐습니다.

References

스스로 해결ㅋㅋ

profile
수박개 입니다.

0개의 댓글