Search code examples
angularjsrestangular

Restangular - How do I reach this API using GET method?


How do I make a GET call to a REST API with the below signature:

http://www.example.com/hierarchies/nodes/1005/parents

I am trying to call the API like so:

var service = Restangular.all('hierarchies');

return service.one('nodes', id).all('parents').get();

But it throws the following error:

TypeError: Cannot read property 'toString' of undefined

The API call(if successful) would respond in a nested format as below:

{
    name: "",
    children: [
        {
            name: "",
            children: [
                {
                    name: "",
                    children: [
                        ..
                    ]
                }
            ]
        }
    ]
}

Thanks in advance!


Solution

  • I think if you use all as the last part of the builder, a list is expected and you should use getList instead of get. However the object you are expecting does not look like a list, so you could change the last part of your builder to just use one without the second parameter and then a single object as the response will be expected.

    service.one('nodes', 5).one('parents').get().then(function(response) {
    });