Reputation: 9411
I have standard angular $resource configured as such
angular.module('client.resources')
.factory('ProjectSubjectResource',['$resource',
function ($resource) {
release: {
method: 'DELETE',
isArray: false
}
});
}]);
and I am calling this method as
ProjectSubjectResource.release({projectId: projectId, subjectId: 0},{ subjectIds: subjectIdArray})
where subjectIdArray is array of objects:
[{subject1: 213123}, {subject2: 3131}]
However, body of request does not contain that array. I suspect that DELETE request is the problem, as renaming method call to e.g. PUT makes difference.
Can I allow body of DELETE request somehow?
Upvotes: 3
Views: 7678
Reputation: 1676
Take a look at this answer.
The body of a request for a DELETE
is ignored. You will have to use POST
to do what you want, or describe the data you are sending with the URL.
UPDATE: DELETE
requests can have a body since Angular 1.6.4; check denisazevedo's answer for additional info.
Upvotes: 5
Reputation: 6298
Starting on Angular 1.6.4, the hasBody
action configuration was added.
You can now have:
deleteSomething: {
method: 'DELETE',
hasBody: true
}
hasBody
-{boolean}
- allows to specify if a request body should be included or not. If not specified only POST, PUT and PATCH requests will have a body.
Upvotes: 4