我想向v1/users
端点发送GET请求,其中作为参数,我想指定我想按priority DESC
和status ASC
进行排序。
正如你所看到的,我想发送将映射到SQL WHERE部分的参数:
SELECT * FROM table WHERE something ORDER BY priority DESC, status ASC
我应该如何在我的HTTP请求中指定为params来进行排序?我认为为了做到这一点,我需要在POST请求中发送JSON数据。但这是一个问题,因为我想要的是GET请求,而不是POST。post/users
意味着创建用户,而我想要get
用户。
我想我必须发送像这样的JSON对象
"sort":[
{"priority":"DESC", "status":"ASC"}
]
首先,当您发送GET请求时,是否可以发送这样的参数
第二,如何在PHP中使用cUrl发送这些参数?
通过内置的RESTfull API,您可以使用逗号进行多属性排序,并使用"-"号进行DESC:
GET v1/users?sort=-priority,status
如果使用自定义操作而不是内置的onces。请确保始终返回一个数据提供程序实例,以便序列化程序可以生成相关的分页,并且支持以上参数:
// instead of: return $modelClass::find()->all();
return new ActiveDataProvider([
'query' => $modelClass::find(),
]);