使用$ resource与正文进行POST

时间:2015-07-15 02:58:40

标签: angularjs angular-resource

如何使用Angular $resource的有效负载主体执行普通POST。现在,当我/api/example?name=JoeSmith&is_whatever=false时,它会发布到ENDPOINT: `/api/example` BODY: { "name": "Joe Smith", "is_whatever": false } ,而不是张贴在正文中。

假设我有以下内容:

angular.module('example')
   .factory('APIService', ['$resource',

        function($resource) {

           return $resource('/api/example', {}, {
              create: {
                 method: 'POST',
              }
           });          

        }]);

API服务

    // body i need to POST
    var payload = {
       name: 'Joe Smith',
       is_whatever: false        
    };

    APIService.create(payload).$promise.then(function(res){
        // doesnt work
    });

使用示例

{{1}}

1 个答案:

答案 0 :(得分:3)

尝试将data参数传递给资源的action方法,如下所示:

angular.module('example', ['ngResource'])

.run(function(APIService) {
   var payload = {
      name: 'Joe Smith',
      is_whatever: false        
   };
   APIService.save({}, payload)
})

.factory('APIService', function($resource) {
   return $resource('/api/example');
});