使用 $resource 到 POST 和 body

Using $resource to POST with a body

如何使用 Angular $resource 的负载 body 执行正常的 POST。现在,当我 POST 时,它发布到 /api/example?name=JoeSmith&is_whatever=false,而不是使用 body.

发布

假设我有以下内容:

ENDPOINT: `/api/example`
BODY: {
   "name": "Joe Smith",
   "is_whatever": false
}

API 服务

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

        function($resource) {

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

        }]);

用法示例

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

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

尝试将数据参数传递给资源的操作方法,如下所示:

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