如何将body有效负载传递给angular $ resource DELETE调用

Ask*_*mov 3 rest angularjs angularjs-resource

我有这样配置的标准angular $ resource

angular.module('client.resources')

.factory('ProjectSubjectResource',['$resource',
    function ($resource) {
            release: {
                method: 'DELETE',
                isArray: false
            }
        });
    }]);
Run Code Online (Sandbox Code Playgroud)

我称这种方法为

ProjectSubjectResource.release({projectId: projectId, subjectId: 0},{ subjectIds: subjectIdArray})
Run Code Online (Sandbox Code Playgroud)

其中subjectIdArray是对象数组:

[{subject1: 213123}, {subject2: 3131}]
Run Code Online (Sandbox Code Playgroud)

但是,请求主体不包含该数组.我怀疑DELETE请求是问题,因为重命名方法调用例如PUT有所不同.

我可以以某种方式允许DELETE请求的主体吗?

lin*_*ink 5

看看这个答案.

请求的主体DELETE被忽略.您将不得不使用POST您想要的任务,或使用URL描述您要发送的数据.

更新:DELETE自Angular 1.6.4起,请求可以有一个正文; 检查denisazevedo的答案以获取更多信息.