我有一个模型(User.js)和一个控制器(UserController.js),并在blueprints.js中设置了“ ations:true”,我在UserController中也有一个名为“ datos”的函数
我使用邮递员发送一个json对象:
{
"nombre": "Alexkin",
"apellido": "Skywalker",
"correo": "alexkin2@mail.com",
"password": "123"
}
此网址:localhost:1337/user/datos
这是我的代码:
User.js
module.exports = {
attributes: {
nombre:
{
type: 'string',
required: true
},
apellido:
{
type: 'string',
required: true
},
correo:
{
type: 'string',
required: true,
unique: true,
isEmail: true
},
password:
{
type: 'string'
},
},
};
UserController.js
module.exports = {
datos: function (req,res)
{
usuario = req.allParams();
User.findOrCreate(usuario)
.exec(async(err, user, wasCreated)=> {
if (err) { return res.serverError(err); }
if(wasCreated) {
sails.log('Created a new user: ' + user.nombre);
}
else {
sails.log('Found existing user: ' + user.nombre);
}
});
}
};
我期望在数据库中创建一个不存在的用户,但最后我收到一条错误消息:
错误:正在发送500(“服务器错误”)响应:UsageError:无效 新记录的初始数据。详细信息:缺少必需的值 属性
nombre
。需要一个字符串,但是得到了:未定义 [?]参见https://sailsjs.com/support以获得帮助...
答案 0 :(得分:0)
将邮递员中的内容类型设置为application / json。然后将json粘贴到“原始”标签中。
答案 1 :(得分:0)
我找到了答案,问题是在版本小于1.0的版本中,您必须发送一个对象[Model.findOrCreate(data)],而在版本大于1.0的版本中,您必须发送两个对象[Model.findOrCreate (查找数据)] ...