Java 如何映射可分页的排序字段?
我知道我可以为Java 如何映射可分页的排序字段?,java,spring,spring-mvc,spring-data,spring-data-jpa,Java,Spring,Spring Mvc,Spring Data,Spring Data Jpa,我知道我可以为Pageableex映射page和size字段 http://example.com/foo?page=0&size=10 但是我怎样才能排序方向和排序字段?只需添加到端点即可 http://example.com/foo?page=0&size=10&sort={ASC/DESC}&field={fieldname} 基本上,您需要在提交查询时执行此操作 PageRequest request = new PageRequest(page,1,Sort
Pageable
ex映射page
和size
字段
http://example.com/foo?page=0&size=10
但是我怎样才能排序方向和排序字段?只需添加到端点即可
http://example.com/foo?page=0&size=10&sort={ASC/DESC}&field={fieldname}
基本上,您需要在提交查询时执行此操作
PageRequest request = new PageRequest(page,1,Sort.Direction.ASC,"country");
所以根据这一点,你可以传递你的参数,得到它
基本上,你可以这样做
/?page=0&size=20&sort=id,desc
或针对多个排序选项执行以下操作
/?page=0&size=20&sort=id,desc&sort=name
很抱歉,这不起作用。我需要的是自动映射到Pageable
。谢谢。我知道这一点,但我需要的是自动映射到Pageable
,比如page
和size
。有没有办法从响应中提取排序?比如说,我们在请求中没有它,因为它是指定服务器端的默认排序。@Stephane是的,您可以扩展PageImpl类,比如说它将是CustomPage。在构造函数中,我们可以复制所有带方向的排序字段。示例:公共类CustomPage扩展了PageImpl{private final List sortDirection;公共CustomPage(List content,Pageable Pageable,long total){super(content,Pageable,total);this.sortDirection=Pageable.getSort().get().collect(Collectors.toList());}//getter}和请求:作为响应,您将获得请求的排序参数。谢谢您的帮助。我试图找到与如何将url参数映射到页面相关的官方文档,但到目前为止我找不到,有什么线索吗?