目前,我在同时使用Spring的Pageable和AWS API Gateway时遇到了这个问题。Spring 用于对多列进行排序的 url 是这样的:
/items?sort=name,asc&sort=id,asc
通过 AWS API 网关,它变得如下所示:
/items?sort=id,asc
我尝试了以下方法:
/items?sort=name,asc,id,asc
但它抛出 500 错误并带有消息"No property asc found for type Item!"
我知道这应该是 AWS API 网关的问题,但根据这篇文章,自 2015 年以来,AWS 似乎一直忽略它。
如果您有任何替代方案或解决方法,请告诉我,谢谢!
感谢奥利弗·吉尔克(Oliver Gierke),解决方法可以是
/items?sort=name,id,asc
因此,所有字段都按同一方向(ASC 或 DESC)排序。
只需使用
/items?sort=name,id
不需要 ASC,因为默认排序方向为 ASC。
您还可以使用多个sort
参数,例如
/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
}
],
}