gpt4 book ai didi

java - 如何从 Spring Data Pageable 检索排序属性和方向?

转载 作者:行者123 更新时间:2023-12-04 11:08:33 27 4
gpt4 key购买 nike

我正在构建一个 API,它将调用另一个 API 并返回结果。我正在调用的 API 具有分页和排序机制,需要将以下查询参数添加到 URL:

?pageNumber=1&pageSize=20&sortField=id&sortDirection=asc

现在,我希望我的 API 使用 Spring Pageable 对象作为 Controller 方法中的参数,因此,根据 Spring Docs,传递给我的新 API 的 URL 将是:
?page=1&size=20&sort=id,asc

因此,为了将接收到的 pageable 对象映射到我需要传递给底层 API 的所需查询参数,我需要从 Pageable 对象中检索分页和排序信息。
至于 pageSizepageNumber它非常简单:
pageable.getPageNumber()
pageable.getPageSize()

但是如何检索 sortField 和 sortDirection?
pageable.getSort()返回 Sort 对象,我无法从中找到检索所需内容的方法 - sortField 值(带有属性名称的字符串)和 sortDirection 值(asc 或 desc)

谢谢

最佳答案

Pageable::getSort 会给你一个 Sort ,这是一个 Iterable Sort.Order s。您需要遍历其中的每一个。它们包含您正在寻找的属性。

Sort sort = Sort.by(Sort.Direction.ASC, "abc");

for (Sort.Order order : sort)
{
System.out.println("Property: " + order.getProperty());
System.out.println("Direction: " + order.getDirection());
}

打印
Property: abc
Direction: ASC

关于java - 如何从 Spring Data Pageable 检索排序属性和方向?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59897491/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com