Search code examples
javascriptangularjsrestangularangular-services

Restangular - Specify custom ID key


In Restangular if I declare a service, and do a PUT/PATCH/POST operation it uses the id of the item by default as a primary key. But what if we want to use a custom key? Like a slug or a number ?

// GET to /users
Users.getList().then(function(users) {
  var user = users[0]; // user === {id: 1, number: 123456, name: "Tonto"}
  user.name = "Gonto";
  // PUT to /users/1 <-- Here the id is used. But I'd like to use number to post to PUT to /users/123456
  user.put();
})

Solution

  • Ok I found what I was looking for:

    https://github.com/mgonto/restangular#setrestangularfields

        RestangularProvider.setRestangularFields({
          id: "number"
        });