当前位置: 首页 > 知识库问答 >
问题:

Spring Data Rest-按多个属性排序

韦安顺
2023-03-14

我有一个实体如下

Class Person{
String id;
String name;
String numberOfHands;
}

使用Spring Data Rest(Gosling Release Train),我可以指定

localhost/Person?sort=name,asc

用于对名称进行升序排序。现在,我需要按numberOfHands降序和name升序排序。我可以指定

localhost/Person?sort=numberOfHands,name,asc
localhost/Person?sort=numberOfHands,desc,name,asc

谢谢!

共有1个答案

郑功
2023-03-14

当要对多个字段排序时,只需在URI中多次放置sort参数。例如您的/uri?sort=name,asc&sort=numberofhands,desc。然后Spring Data能够构造具有多个排序的pageable对象。

对于如何为URI中的一个参数提交多个值,还没有真正定义的标准。请参阅GET请求中为同一参数名传递多个值的正确方法。

然而,Java Servlet规范中有一些信息提示Java Servlet容器如何解析请求参数。

该部分中的示例进一步说明(尽管它混合了请求数据和正文数据)

例如,如果使用a=hello的查询字符串和a=goodby&a=world的post正文发出请求,则结果参数集的顺序为a=hello,goodbye,world

示例显示,当参数(示例中的a)多次呈现时,结果将聚合到String[]中。

 类似资料:
  • 问题内容: 我有一个清单清单: 如果要按一个元素(例如,高/短元素)排序,可以通过进行。 如果我想作为排序依据两个高大和颜色,我可以为每个元素做排序两次,一次,但有一个更快的方法? 问题答案: 键可以是返回元组的函数: 或者,你可以使用来实现相同的效果(速度更快,并且避免了Python函数调用): 并请注意,你可以在此处使用而不是使用,然后重新分配:

  • 问题内容: 我正在尝试按属性对一些数据进行排序。这是我tought应该可以工作的示例,但事实并非如此。 HTML部分: JS部分: 结果: A-> AData B-> BData C-> C数据 …恕我直言,应如下所示: C-> C数据 B-> BData A-> AData 我是否错过了某些东西(可以在这里进行JSFiddle的实验)? 问题答案: AngularJS的orderBy过滤器仅支持

  • 问题内容: 我现在只需获取数组的前3个对象并映射它们: 每个都有一个属性(champ.level)。 如何将输出分类到 前三个切片中? 问题答案: 与自定义比较功能一起使用时,首先要进行降序排序: 使用ES6甚至更好:

  • 哦,那些狡猾的Java8条带有lambdas的溪流。它们非常强大,但是复杂的东西需要一点时间来包裹它。 假设我有一个类型,其属性为。假设我有这些用户的地图 ?

  • 我有一些对象的列表。我想先按一些属性和空值排序,比如在查询中: 我知道当我有字符串列表时,我可以这样做: 但是当我有一些类的对象列表时呢? 有什么建议我可以用java实现吗?