我正在尝试使用Angular实现一个示例应用程序,该应用程序使用$ resource对象与后端REST API进行交互。但是,后端系统不会为资源生成id,因此需要在客户端上创建的对象上定义这些id。这会在新的资源上调用$ save方法时出现问题,因为它强制将JSON数据发布到错误的URL,即POST发送到:
/resources/employees/1234
而不是:
/resources/employees
如果我可以避免使用低级$ http服务,我宁愿不必使用它。
有谁知道如何解决这个问题?
感谢。
答案 0 :(得分:0)
这是因为您以这种方式配置了$resource
构造函数,例如:
$resource('resources/employees/:employeeId', {
employeeId: @id
});
这意味着当您在此构造函数生成的资源对象上调用$save
或$delete
等方法时,url中的变量:employeeId
将填充值{ {1}}存在于您调用方法的对象上。为避免这种情况,您必须修改构造函数配置,以便url变量不依赖于对象id
属性。