我有一个角度服务,它有像这样的自定义方法
appServices.factory('RuleSets', ['$resource',
function($resource){
return $resource('', {}, {
query: {
method:'GET',
isArray:true,
url: '../data/routing-ruleset-:ruleSetId.json'
},
unschedule: {
method: 'POST',
url: '../data/unschedule:ruleSetId.json'
},
schedule: {
method: 'POST',
params: {ruleSetId: ':ruleSetId', date: ':date'},
url: '../data/schedule.json'
}
});
}]);
我在使用自定义方法发布数据时遇到问题
RuleSets.unschedule({ruleSetId: ruleSetId});
和
RuleSets.schedule({date: $scope.formattedDate, ruleSetId: $scope.selectedRuleSet})
我在前者看到的行为是,如果它是POST请求,则不会填充ruleSetId url参数。在后者中,我不知道如果它是一个post请求(我知道编写的代码不正确),如何填充请求参数,因为我在我的服务函数中尝试的不起作用。我还想将数据作为“计划”请求的一部分发送。我已经看过如何通过这样做来做到这一点
var ruleSets = new RuleSets();
ruleSets.id = $scope.selectedRuleSet
ruleSets.$save();
但是如何使用自定义方法呢?
我应该使用$ http还是不使用这么多自定义方法。我喜欢自定义方法提供的结构,所以我希望尽可能保持这种结构。