Restangular POST always empty

Carlos Bergen picture Carlos Bergen · Jun 25, 2013 · Viewed 12k times · Source

I think I'm not understanding how a POST is done in a RESTful api. When creating a new object in Restangular with this:

var user = {name: "John", id:"123"};
Restangular.one('building','5').post(user);

I expect it to pass a $_POST array with the values of user to the url example.com/api/building/5

And right know it's doing a POST request to the correct script but the $_POST array is empty. Any idea of what I'm doing wrong?

Answer

mgonto picture mgonto · Jun 25, 2013

I'm the creator of Restangular. Posts should be done to collections, not to elements. So, if you want to add a user to the building, you should do something like:

Restangular.one("building", 5).post('users', user).then(function(postedUser) {
    console.log("Success");
})

Check the post method here: https://github.com/mgonto/restangular#element-methods

The signature is path to subelement collection, element to POST.

Bests!