如何发送Yii2 RESTful GET请求并指定排序为params


How to send Yii2 RESTful GET request and specify sorting as params

我想向v1/users端点发送GET请求,其中作为参数,我想指定我想按priority DESCstatus 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(),
]);