微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

第 1 页上方的 PageRequest 返回相同的结果

如何解决第 1 页上方的 PageRequest 返回相同的结果

我有以下 get 函数,它应该返回带有可选规范的页面内的行程。

@GetMapping("/trip")
    Page<Trip> all(@SearchSpec Specification<Trip> specs,@RequestParam(defaultValue = "0") int page,@RequestParam(defaultValue = "1000") int pageSize) {
        //return repository.findAll(Specification.where(specs));
        return repository.findAll(Specification.where(specs),PageRequest.of(page,pageSize,Sort.by("searchKey").ascending()));
    }

现在,当我向 API 发出以下请求时:
http://localhost:8080/trip?page=0&pageSize=2&search=departureAirport:'AMS'

我从我的 API 中取回了 2 条记录(行程),这是正确的。当我将请求更改为:
http://localhost:8080/trip?page=1&pageSize=2&search=departureAirport:'AMS'

所以到下一页,我从我的 API 中获取了接下来的 2 条记录(行程),这也是正确的,但是一旦我想转到第 2 页,API 就会返回与第 1 页相同的记录。所以每个第 1 页上方的页面返回相同的记录。

我可以增加 pageSize,当我这样做时,API 会返回更多记录,但 1 以上的每个页面都会返回相同的记录。所以只有第 0 页和第 1 页的数据不同。

我尝试删除规范和排序,但这并没有解决问题。

解决方法

我最终使用了自己的分页算法,因为问题可能与 Sqlite 相关,而且我不想更改我的数据库客户端。我最终在 Get 请求中使用了以下代码:

console.log(("f"+"i"+ +"a"+"c"+"e").toLowerCase())

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。