json - Sails.js 用户模型不删除密码

标签 json sails.js

我正在尝试从 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/

相关文章:

java - 如何在PHP服务器上显示android POST字符串?

php - 使用 Laravel 从 json 数组获取数据库表

sails.js - 文件上传因船长中止而导致 Sails 崩溃

javascript - 注册 Passport.js 和 Sails.js 后如何重定向到特定位置?

node.js - Sails.js:哪些模块用于单元测试?

node.js - Sails.js 是从商店中清除的 session

java - Tomcat热部署Json文件

javascript - 加权对象值并确定获胜者

json - 未处理的异常: 'String'类型不是 'int'类型的子类型,即使数据中没有整数

javascript - 如何自动解析 Sails.js 路由上的模型属性?