好吧,我有一个用户模型,需要实现customToJSON并删除要返回的对象的密码json。 当我把“退出”中的“responseType”作为“json”时,一切都很好,并且密码从响应中取出。但是,responseType:“json”将根据终端中发送responseType为空的消息而弃用,但不会调用customToJSON。任何人都可以帮我理解这个吗?
这是型号代码:
[...]
attributes: {
name: {
type: 'string',
required: true,
},
email: {
type: 'string',
required: true,
},
password: {
type: 'string',
minLength: 6,
required: true,
},
},
customToJSON: function() {
return _.omit(this, ['password']);
},
[...]
这是行动代码:
module.exports = {
friedlyName: 'Users List',
description: 'User list -> all users',
exits: {
success: {
}
},
fn: async (inputs, exits) => {
var users = await User.find();
return exits.success(users);
}
}
如果您输入“responseType:'json'”:
,则会显示此消息即将发布的版本中将弃用
json
响应类型。请改用“(标准)”(即从responseType
出口删除success
。)
答案 0 :(得分:1)
我在api / responses文件夹中定义了自定义响应。
所以,例如......对于200 OK响应创建api / responses / ok.js
然后在action2控制器方法中添加以退出:
module.exports = function ok(data) {
return this.res.status(200).json(data);
};
我的简单api / respond / ok.js
的示例 func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
let dotString = "."
if let text = textField.text {
let isDeleteKey = string.isEmpty
if !isDeleteKey {
if text.contains(dotString) {
if text.components(separatedBy: dotString)[1].count == 2 {
return false
}
}
}
}
}
您可以为所需的每个状态/退出创建响应,稍后可以轻松维护退出...我有以下响应:badRequest,serverError,forbidden,notFound和unauthorized