避免在Angular资源POST请求的主体中使用属性



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

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

我使用save()发送POST呼叫,如下所示。书。save({username:'testuser', bookId:1, show: true})

正确生成一个URL

v1/users/testuser/books/1

但是它发送username, id在主体和show:true,我想避免。如何避免体内的username, id ?

我是这样做到的。我使用了动作的transformRequest属性,并删除了不必要的属性。

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);
         }
      }
});

最新更新