페이징된 결과를 나타내는 인터페이스
Page 인터페이스의 주요 메소드
- getContent(): 현재 페이지의 엔티티 목록을 반환합니다.
일반적으로 조회된 엔티티들이 이 속성을 통해 접근됩니다.
- getTotalElements(): 전체 엔티티의 수를 반환합니다.
페이징되지 않은 경우에도 전체 엔티티의 수를 가져올 수 있습니다.
- getTotalPages(): 전체 페이지 수를 반환합니다.
페이지당 엔티티 수와 전체 엔티티 수를 기반으로 계산됩니다.
- getNumber(): 현재 페이지 번호를 반환합니다. 페이지 번호는 0부터 시작합니다.
- getSize(): 페이지당 엔티티 수를 반환합니다.
- getSort(): 페이지의 정렬 정보를 반환합니다.
정렬 정보는 Sort 객체로 표현되며, 엔티티가 어떤 기준으로 정렬되었는지 알려줍니다.
- hasContent(): 현재 페이지에 엔티티가 있는지 여부를 반환합니다.
엔티티가 없는 경우 false를 반환합니다.
- hasNext(): 다음 페이지가 있는지 여부를 반환합니다.
- hasPrevious(): 이전 페이지가 있는지 여부를 반환합니다.
- isFirst(): 현재 페이지가 첫 번째 페이지인지 여부를 반환합니다.
- isLast(): 현재 페이지가 마지막 페이지인지 여부를 반환합니다.
페이징 요청 정보를 생성하는 클래스
PageRequest 클래스는 다음과 같은 생성자를 제공
- PageRequest.of(page, size): 페이지 번호와 페이지 크기를 기반으로 페이징 요청 정보를
생성합니다.
- PageRequest.of(page, size, sort): 페이지 번호, 페이지 크기, 정렬 정보를 기반으로
페이징 요청 정보를 생성합니다. 정렬 정보는 Sort 객체로 전달됩니다.
페이징 요청 정보를 나타내는 인터페이스
Pageable 인터페이스의 주요 메소드
- getPageNumber(): 요청한 페이지 번호를 반환합니다.
- getPageSize(): 요청한 페이지 크기를 반환합니다.
- getOffset(): 현재 페이지의 시작 인덱스를 반환합니다.
- hasPrevious(): 이전 페이지가 있는지 여부를 반환합니다.
- hasNext(): 다음 페이지가 있는지 여부를 반환합니다.
- next(): 다음 페이지의 Pageable 객체를 반환합니다.
- previousOrFirst(): 이전 페이지의 Pageable 객체를 반환하거나
첫 번째 페이지의 Pageable 객체를 반환합니다.
- first(): 첫 번째 페이지의 Pageable 객체를 반환합니다.
- withPage(int page): 지정한 페이지 번호로 변경된 Pageable 객체를 반환합니다.
- withSize(int size): 지정한 페이지 크기로 변경된 Pageable 객체를 반환합니다.
URL의 일부로서 웹 애플리케이션에서 클라이언트가 서버로 데이터를 전달하는 데 사용되는 문자열
주로 GET 요청에서 사용되며, URL 뒤에 '?'를 통해 시작
- 쿼리 문자열은 key=value 형태의 쌍으로 구성되며, 여러 개의 쿼리 문자열은 &로 구분됩니다.
- 각 쿼리 문자열은 요청에 대한 추가적인 정보를 제공하기 위해 사용됩니다.
- 쿼리 문자열은 서버 측에서 파라미터를 받아 처리하거나, 검색어, 필터, 정렬 방식 등과 같은
추가 정보를 전달하는 데 활용됩니다.
예시
https://example.com/search?q=keyword&page=2&sort=desc
>> 위의 URL에서 ? 이후의 문자열인 q=keyword&page=2&sort=desc가 쿼리 문자열입니다.
여기서 q, page, sort는 쿼리의 키(Key)이고, 각각의 값(Value)은 keyword, 2, desc입니다.
서버는 이 쿼리 문자열을 해석하여 클라이언트의 요청에 따른 동작을 수행할 수 있습니다.
쿼리 문자열은 URL에 포함되어 전송되므로 브라우저나 웹 애플리케이션에서 서버로 데이터를 전송하는 데 사용되고, 클라이언트는 쿼리 문자열을 조합하여 원하는 데이터를 서버에 요청하고, 서버는 이를 해석하여 적절한 응답을 반환