我的服务器在发送PUT请求时需要以下格式的json。我的服务器是一个使用struts2 rest插件设计的rest api。
{
id: "5",
empId: "5",
firstName: "oki",
lastName: "iko",
edQual: "phd"
}
but the RESTAdapter serializes it to
[
employees:
{
id: "5",
empId: "5",
firstName: "oki",
lastName: "iko",
edQual: "phd"
}
]
我尝试忽略后端中的属性,但这只是忽略了整个json,并将空值提交给了sql-server。我需要覆盖或自定义ember.js的序列化,但我不知道如何操作。
1条答案
按热度按时间nvbavucw1#
这是Ember Data提供的序列化器的职责之一。我猜您使用的是
RestSerializer
,它通常与RestAdapter
一起使用,对吗?在这种情况下,您应该自定义serializeIntoHash()
method。只是完全不使用命名空间,应该通过以下操作来完成:为了不丢失
hash
上已经存在的任何数据,你可以使用Object.assign()
。这也是JSONSerializer
中所做的:assign || merge
只需要支持非常旧的ember版本。你可以简化为:如果您不支持IE 11,则不需要对
assign
使用polyfill。在这种情况下,它将是:使用原生类别时,它看起来像: