我在我的应用程序中为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上的网络日志中可以看到,激活码正在查询字符串和请求正文中发送:
如何将资源更改为仅在请求正文中传递激活码而不是在查询字符串中?
答案 0 :(得分:10)
只需从动作声明中删除params
:
activate: {method:'PUT', url: 'http://api.site.dev/users/activate'}