为什么必须在$ resource angularjs中设置更新:{method:'PUT'}?

时间:2015-11-25 02:24:59

标签: javascript angularjs meanjs

我在meanjs中有示例代码,我不明白为什么他们必须设置第三个参数

  update: {
    method: 'PUT'
  }

这是完整的代码:

'use strict';

//Articles service used for communicating with the articles REST endpoints
angular.module('articles').factory('Articles', ['$resource',
  function ($resource) {
    return $resource('api/articles/:articleId', {
      articleId: '@_id'
    }, {
      update: {
        method: 'PUT'
      }
    });
  }
]);

提前致谢。

1 个答案:

答案 0 :(得分:2)

如果您查看退货部分下的docs,您会看到$resource服务将返回:

  

资源"类"具有默认资源操作集的方法的对象,可选择使用自定义操作进行扩展。默认设置包含以下操作:

{'get':    {method:'GET'},
 'save':   {method:'POST'},
 'query':  {method:'GET', isArray:true},
 'remove': {method:'DELETE'},
 'delete': {method:'DELETE'} };

进一步指出:

  

保存,删除和删除操作可以作为带有$前缀的方法使用。

所以$save$remove$delete可以,但没有$更新。这就是示例中的服务具有以下行的原因:

...
'update': { method: 'PUT'},
...

它意味着扩展这些默认操作集,以便$update作为对象的方法可用,它将使用HTTP PUT方法而不是像其他人一样使用GET / POST / DELETE

注意:上面的答案是从previous question I answered中提取的,但我已经将您应该关注的部分与

隔离开了。