从Angular Resource POST请求的主体中避免使用属性

时间:2015-10-15 08:19:38

标签: angularjs angular-resource

我正在创建一个角度资源,如下所示。

var Book = $resource(baseUrl + 'v1/users/:username/books/:id', {
        username: '@username'
        id: '@bookId'
      });

我正在使用POST发送save()来电,如下所示。 Book.save({username:'testuser',bookId:1,show:true})

这会正确生成网址

v1/users/testuser/books/1

但它会将usernameidshow:true一起发送到正文中,我希望避免这种情况。如何避免身体中的usernameid

1 个答案:

答案 0 :(得分:0)

这是怎样的,我实现了它。我使用了actionsRequest属性的操作并删除了不必要的属性。

var Book = $resource(baseUrl + 'v1/users/:username/books/:id', {
        username: '@username'
        id: '@bookId'
      }, {
      customSave: {
         method: 'POST',
         transformRequest: function(body) {
            delete body.username;
            delete body.id;
            return angular.toJSON(body);
         }
      }
});