このようなカスタムメソッドを持つAngularサービスがあります
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 パラメータが入力されないことです。後者では、サービス関数で試したことが機能しないため、ポスト リクエストの場合にリクエスト パラメータを入力する方法がわかりません (記述されたコードが正しくないことは承知しています)。また、「スケジュール」へのリクエストの一部としてデータを送信したいと思います。これを行うと言う方法でこれを行う方法を見てきました
var ruleSets = new RuleSets();
ruleSets.id = $scope.selectedRuleSet
ruleSets.$save();
しかし、カスタムメソッドでそれを行うにはどうすればよいですか?
$http を使用するか、カスタム メソッドをあまり使用しない方がよいでしょうか。カスタムメソッドが提供する仕組みが好きなので、できればそのままにしておきたいです。