我想向v1/users
端点发送GET请求,其中as params我想指定我想按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发送这些参数?
答案 0 :(得分:3)
使用内置的RESTfull API,您可以使用逗号进行多属性排序,使用' - '表示DESC:
GET v1/users?sort=-priority,status
如果使用自定义操作而不是内置的onces。请务必始终返回data provider个实例,以便serializer可以生成相关的分页,并且上面的参数会被取消:
// instead of: return $modelClass::find()->all();
return new ActiveDataProvider([
'query' => $modelClass::find(),
]);