我正在尝试从 JSON 序列化用户模型中删除密码。
出于某种原因,我的 Controller 返回 res.json({user: myUser});
正在返回完整的用户,包括密码。下面是我的用户模型。想法?
# models/User.js
var User = {
attributes: {
username: 'string',
password: 'string'
},
// Override toJSON method to remove password from API
toJSON: function() {
var obj = this.toObject();
// BELOW NOT WORKING
delete obj.password;
return obj;
}
};
module.exports = User;
最佳答案
您正在添加 toJSON
作为类方法(在 attributes
对象之外);它需要是一个实例方法:
# models/User.js
var User = {
attributes: {
username: 'string',
password: 'string',
// Override toJSON method to remove password from API
toJSON: function() {
var obj = this.toObject();
delete obj.password;
return obj;
}
}
};
module.exports = User;
这将添加
toJSON
User
的每个实例的方法, 并且在做 res.json()
之类的事情时会按预期工作.
关于json - Sails.js 用户模型不删除密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25619776/