java hasnext_Java Page.hasNext方法代码示例

import org.springframework.data.domain.Page; //导入方法依赖的package包/类

@GetMapping

public ResponseEntity> getAllBooks(

@PageableDefault(size = MAX_PAGE_SIZE) Pageable pageable,

@RequestParam(required = false, defaultValue = "id") String sort,

@RequestParam(required = false, defaultValue = "asc") String order) {

final PageRequest pr = PageRequest.of(

pageable.getPageNumber(), pageable.getPageSize(),

Sort.by("asc" .equals(order) ? Sort.Direction.ASC : Sort.Direction.DESC, sort)

);

Page booksPage = bookRepository.findAll(pr);

if (booksPage.getContent().isEmpty()) {

return new ResponseEntity(HttpStatus.NO_CONTENT);

} else {

long totalBooks = booksPage.getTotalElements();

int nbPageBooks = booksPage.getNumberOfElements();

HttpHeaders headers = new HttpHeaders();

headers.add("X-Total-Count", String.valueOf(totalBooks));

if (nbPageBooks < totalBooks) {

headers.add("first", buildPageUri(PageRequest.of(0, booksPage.getSize())));

headers.add("last", buildPageUri(PageRequest.of(booksPage.getTotalPages() - 1, booksPage.getSize())));

if (booksPage.hasNext()) {

headers.add("next", buildPageUri(booksPage.nextPageable()));

}

if (booksPage.hasPrevious()) {

headers.add("prev", buildPageUri(booksPage.previousPageable()));

}

return new ResponseEntity<>(booksPage.getContent(), headers, HttpStatus.PARTIAL_CONTENT);

} else {

return new ResponseEntity(booksPage.getContent(), headers, HttpStatus.OK);

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值