diff --git a/src/ngResource/resource.js b/src/ngResource/resource.js index a86c00ec4dd6..d330f737e4c6 100644 --- a/src/ngResource/resource.js +++ b/src/ngResource/resource.js @@ -466,7 +466,7 @@ angular.module('ngResource', ['ng']). } }); - httpConfig.data = data; + if (hasBody) httpConfig.data = data; route.setUrlParams(httpConfig, extend({}, extractParams(data, action.params || {}), params), action.url); var promise = $http(httpConfig).then(function(response) { diff --git a/test/ngResource/resourceSpec.js b/test/ngResource/resourceSpec.js index 2bf40a2cb515..550b44326ed9 100644 --- a/test/ngResource/resourceSpec.js +++ b/test/ngResource/resourceSpec.js @@ -32,6 +32,16 @@ describe("resource", function() { }); + it('should not include a request body when calling $delete', function() { + $httpBackend.expect('DELETE', '/fooresource', null).respond({}); + var Resource = $resource('/fooresource'); + var resource = new Resource({ foo: 'bar' }); + + resource.$delete(); + $httpBackend.flush(); + }); + + it("should build resource", function() { expect(typeof CreditCard).toBe('function'); expect(typeof CreditCard.get).toBe('function');