我有标准的角度$资源配置为
angular.module('client.resources')
.factory('ProjectSubjectResource',['$resource',
function ($resource) {
release: {
method: 'DELETE',
isArray: false
}
});
}]);
我将此方法称为
ProjectSubjectResource.release({projectId: projectId, subjectId: 0},{ subjectIds: subjectIdArray})
其中subjectIdArray是对象数组:
[{subject1: 213123}, {subject2: 3131}]
但是,请求正文不包含该数组。我怀疑DELETE请求是问题,因为重命名方法调用例如PUT有所不同。
我可以以某种方式允许DELETE请求的主体吗?
答案 0 :(得分:5)
看看this answer。
忽略DELETE
请求的正文。您必须使用POST
来执行您想要的操作,或使用URL描述您要发送的数据。
更新:DELETE
请求自Angular 1.6.4起可以拥有正文;检查denisazevedo's答案以获取更多信息。
答案 1 :(得分:4)
从Angular 1.6.4开始,添加了hasBody
操作配置。
您现在可以拥有:
deleteSomething: {
method: 'DELETE',
hasBody: true
}
hasBody
-{boolean}
- 允许指定请求正文是否应该是 包括与否。如果未指定POST,PUT和PATCH请求 会有一个身体。