在向应用获取数据的接口通常会面临的一个问题是,获取的数据量级过大。前端无法全部展示。
譬如一个日志系统中,前端需要查询一些日志信息就会遇到这样的问题。
这个时候可以使用分页的方式,既方便前端页面展示,又避免回复数据的大小过大。
下面贴一个简单的使用案例。
首先在我们的service层根据controller层传进来pageSize及currentPage做一个PageRequest
PageRequest pageRequest = PageRequest
.of(currentPage, pageSize, Sort.by(Sort.Direction.DESC, "createTimestamp"));
这里用到了org.springframework.data.domain.PageRequest和org.springframework.data.domain.Sort
然后再在Storage层中的Query添加使用PageRequest
public Page<SomeClass> paginatedRetrieveAlert(
String condition,
Long startTimestamp,
Long endTimestamp,
PageRequest pageRequest) {
Query query = new Query();
if (condition != null && !condition.