我正在使用BackboneJS并有一个模型对象要更新。
self.model.save(
{
urlRoot: +self.model.get("personId")+"/deactivate"
},
{
success: function (model){
self.showMessage('Person deactivated', true, true);
self.model.fetch();
},
error : function(){
$("#save", self.el).button("reset");
}
});
现在我的REST方法看起来像
@PUT
@Path("{id}/deactivate")
@Consumes({MediaType.APPLICATION_JSON})
@Produces({MediaType.APPLICATION_JSON})
public CompanyVO deactivatePerson(@PathParam("id") Long id, PersonVO personVO) {
return modifyPerson(id, personVO);
}
我的问题是我如何设置urlRoot以调用相应的REST方法。
请让我知道正确的方法,以便我可以调用REST方法并更新Person对象。
答案 0 :(得分:0)
保存方法原型是:model.save([attributes],[options])
第一个参数是属性。第二个是选项,例如url,成功,可以指定错误方法。
如果您已经设置了模型的所有属性,则将'[]'作为第一个参数传递以保存,即
self.model.save([],{
urlRoot: +self.model.get("personId")+"/deactivate, //ensure protocol + domain name are added
success: function (model){
self.showMessage('Person deactivated', true, true);
self.model.fetch();
},
error : function(){
$("#save", self.el).button("reset");
}
});