在 Angular 中对 API 的 $resource GET 调用中使用 [] 方括号作为参数的一部分不起作用

Using [] square brackets as part of a parameter in $resource GET call to API in Angular is not working

我正在尝试从 ajax-localized REST api 中获取用户数据,需要这样的参数:

/api/activity?filter[user_id]=1

我有一个工厂设置查询参数如下:

angular.module('app')
    .factory('Activity',function($resource){
        return $resource(ajaxInfo.api_url+'activity',
        { // Query parameters
            filter: {
                '[user_id]': '@userId'
            }, 
        }, 
        {
            'query':{
                method:'GET',
                headers: {
                    'X-WP-Nonce': ajaxInfo.nonce
                },
                isArray: false
            }
        });
    })

我 console.logging 它在这样的模板中:

$scope.userOne = Activity.query({userId:1});
console.log($scope.userOne)

它正在返回

http:site.dev/api/activity?filter=%7B%22%5Buser_id%5D%22:%22@userId%22%7D&userId=1".

知道我做错了什么吗?

这是我为解决此问题所做的工作:

我创建了一个名为 "CurrentUser" 的工厂,这个工厂基本上 returns 来自 api 当前用户的对象。

然后我创建了一个控制器,当我想通过该用户 id 过滤 activity 时,将参数传递给 Activity 工厂。

$scope.userInfo = function(){
    //call the CurrentUser and see if it's available and return it as u
    CurrentUser.instance().then(function(u) {
        //now query the activity factory and pass the filter as a string along with the user id as u.id
        Activity.query({'filter[user_id]':u.id}, function(res){
            $scope.userOne = res ;
            console.log($scope.userOne);
        });
    })

};
$scope.userInfo();