我使用Angular $resource
进行REST服务。由于我得到的回应中有怪癖,我不能使用$资源服务为CRUD应用程序。
创建一个新的目标工作(说的卡),smilar到:
var newCard = new CreditCard();
newCard.name = "Mike Smith";
newCard.$save();
获得同样适用:
var card = CreditCard().get({_id:1)
但是,获得响应不是对象Card
本身,而是其他消息与它(包装对象)
{ message: ".....",
response: Card //object
}
所以当我保存实例检索ved通过资源,它发送包装器对象(在响应字段中具有修改的Card对象)。 这可能是正确的,但我的服务器期望Card对象不是包装。 有没有一种方法来定制$资源,以便它发送所需的对象。从文档看来,只有url参数可以更改。
$resource(url[, paramDefaults][, actions]);
你可以发布一个完整的例子在jsfiddle,或类似的?根据我的经验,对于(简单)CRUD,没有必要创建一个像这样的新对象。如果您只是简单地访问您的资源,例如$ scope.card = Card.get({_ id:1),其中Card是您的资源服务?另外,如果你告诉表单你的模型是什么,那么实例会自动填充。 – Narretz
我不认为你的问题是在Angular中。听起来就像你在服务器端的REST实现有一些问题。不应该有附加信息。你可能想首先检查一下,以确保响应的主体只是你期望的对象。 –
服务器确实在发送实际对象的包装。但是,有没有办法发送回服务器(POST) – bsr