Java Spring可分页多列排序+;AWS API网关
目前,我在一起使用Spring的Pageable和AWSAPI网关时遇到了这个问题。Spring对多列进行排序的url如下所示:Java Spring可分页多列排序+;AWS API网关,java,spring,amazon-web-services,amazon-s3,Java,Spring,Amazon Web Services,Amazon S3,目前,我在一起使用Spring的Pageable和AWSAPI网关时遇到了这个问题。Spring对多列进行排序的url如下所示: /items?sort=name,asc&sort=id,asc /items?sort=id,asc 通过AWS API网关,它会变成这样: /items?sort=name,asc&sort=id,asc /items?sort=id,asc 我尝试了以下方法: /items?sort=name,asc,id,asc 但是它抛出了500个
/items?sort=name,asc&sort=id,asc
/items?sort=id,asc
通过AWS API网关,它会变成这样:
/items?sort=name,asc&sort=id,asc
/items?sort=id,asc
我尝试了以下方法:
/items?sort=name,asc,id,asc
但是它抛出了500个错误,消息是“找不到类型项的属性asc!”
我理解这应该是AWS API网关的一个问题,但根据这一点,AWS似乎从2015年起就忽略了它
如果您有其他选择或解决办法,请告诉我,谢谢 多亏了奥利弗·吉尔克(Oliver Gierke),这个解决方法可以
/items?sort=name,id,asc
因此,所有字段都按同一方向(asc或desc)排序。您还可以使用多个
排序
参数,例如
/items?sort=name,asc&sort=id,asc
这很有用,尤其是当存在升序和降序的组合时,例如
/items?sort=name,asc&sort=id,desc
。。。春天会回来,就像:-
{
...
"sort": [
{
"direction": "ASC",
"property": "name",
"ignoreCase": false,
"nullHandling": "NATIVE",
"ascending": true,
"descending": false
},
{
"direction": "DESC",
"property": "id",
"ignoreCase": false,
"nullHandling": "NATIVE",
"ascending": false,
"descending": true
}
],
}
只用
/items?sort=name,id
不需要asc,因为默认的排序方向是asc。AWS API网关忽略多个排序参数,这就是为什么我问它的原因……没错。我明确声明asc以提示读者desc也可以是一个选项。