角度资源自定义URL使用查询字符串和POST参数

时间:2014-05-07 21:11:29

标签: javascript angularjs api rest put

我在我的应用程序中为Angular资源编写了一个自定义方法来激活用户。 API端点为/users/activate,并且必须将激活码PUT到此端点。这就是我的资源:

app.factory('User', ['$resource',
    function($resource){
        return $resource('http://api.site.dev/users/:id', {id: '@id'}, {
            activate: {method:'PUT', params:{code: '@code'}, url: 'http://api.site.dev/users/activate'}
        });
    }]);

我在控制器中使用它就像这样:

User.activate({code: $routeParams.code});

从Chrome上的网络日志中可以看到,激活码正在查询字符串和请求正文中发送:

enter image description here

如何将资源更改为仅在请求正文中传递激活码而不是在查询字符串中?

1 个答案:

答案 0 :(得分:10)

只需从动作声明中删除params

activate: {method:'PUT', url: 'http://api.site.dev/users/activate'}