我遇到一个问题,需要使用不同的密钥对属性进行序列化和反序列化。
在 serializer
中,该属性处理键trade
:
'tradeId': { key: 'trade' },
这在解决反序列化端点时有效。
但是,对于串行化,端点属性称为trade-identifier
,要求将序列化程序引用更改为以下内容:
'tradeId': { key: 'tradeIdentifier' },
是否有任何方法可以在Ember序列化程序中定义用于序列化和反序列化的单独密钥?
答案 0 :(得分:1)
感谢@handlebears在这里向我指出正确的方向。 只需在管理序列化文件中添加一个serialize方法,即可将数据重新分配给适当的JSON属性:
serialize(snapshot, options){
let json = this._super(...arguments);
json.tradeIdentifier = json.trade;
delete json.trade;
return json;
}
});