null, null값을 넣으면 안되는 이유

김민지·2022년 10월 8일
0

JPA

목록 보기
7/27

문제상황

  • 위의 사진과 같이 controller가 작성되어있다.
    postmna으로 dto랑 pageRequest를 넘겨주지 않고 요청을 보냈는데
    52-53은 null이 출력되는게 아니라 아래와 같은 객체가 출력이 된다

null이 출력되지 않는이유

modelAttribute

  • modelAttivute는 1)해당 객체를 일단 생성해놓고, 2)setter를 통해서 값을 주입시킨다. null값을 넘겨주면 1)만 실행되는것 같다. 그래서 객체 자체가 안들어온 것이 아니라 객체는 들어오는데 값이 null으로 뜬다

pageRequest

  • pageRequest를 넘겨주지 않아도 미리 작성된 기본값이 넘어가도록 설정해주었기 때문이다
  • 출력문을 보면 내 프로젝트에서 만든 pageRequest객체가 사용되고 있음을 알 수 있다.

pageRequest의 내부

  • pageRequest는 AbstractPageRequest을 상속받고, AbstractPageRequest는 Pageable, Serializable을 상속받는다

궁금한 것

  • spring의 pageRequest는 여러가지 메서드들이 있고 상속받는것 인터페이스도 있다.
    이들을 모두 구현하지 않았는데도 사용자 정의 PageRequest는 잘 동작하였다.
    필수적인 메서드가 무엇인지는 어떻게 알았는지 궁금하다
profile
안녕하세요!

0개의 댓글