1

このようなカスタムメソッドを持つ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 を使用するか、カスタム メソッドをあまり使用しない方がよいでしょうか。カスタムメソッドが提供する仕組みが好きなので、できればそのままにしておきたいです。

4

0 に答える 0