Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Restangular POST always empty

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?

like image 843
Carlos Bergen Avatar asked Jun 25 '13 16:06

Carlos Bergen


1 Answers

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!

like image 174
mgonto Avatar answered Oct 26 '22 02:10

mgonto