如何使用Restangular将对象PUT(保存)到REST端点

时间:2015-08-31 22:43:48

标签: restangular

鉴于我有资源ID和数据为普通JSON,如何将该JSON保存到/ cars / 123 / ???

似乎没有明确的解释。我没有restangular元素。 restangularizeElement可能是选项,但它没有任何有意义的文档。

我所知道的是,我想为car_id == 123保存{make:' honda',color:'现在为蓝色,为红色'}。

感谢。

2 个答案:

答案 0 :(得分:2)

如果您有普通对象,则无法使用Restangular save函数进行更新(它会将put请求作为对象具有id)对象。

最简单的方法来实现它构建你的终点url然后调用put函数...

Restangular.one('cars', 123).customPUT(carObject).then(function(response){
   TO-DO
})

如果你想重新校正你的普通物体,你可以使用这个......

Restangular.restangularizeElement(null,carObject, 'cars').put().then(function (response) {
   TO-DO
})

comman的方式应该是这样的。每当您使用getgetList从后端获取对象时,您的对象将 Restangularized ,除非您不选择通过调用Restangular的.plain()方法将它们变为普通对象响应。然后,您可以安全地拨打.save(),它会自动putpost ...

答案 1 :(得分:0)

这对我有用。感谢@ wickY26:

updateGroup: function (group, id_optional) {
    if (!group.hasOwnProperty('restangularCollection')) {
        // safe to assume it is NOT restangular element; sadly instanceof won't work here
        // since there is no element class
        // need to restangularize
        group = Restangular.restangularizeElement(null, group, ENDPOINT);
        group.id = id_optional;
    }

    return group.put();
},