为什么当我尝试向我的控制器发送数据时它 returns 给我一个错误?
Why when I try to send data to my Controller it returns me an error?
我有一个模型 (User.js) 和一个控制器 (UserController.js),我在 blueprints.js 中设置了 "ations: true",我在 UserController 中也有一个名为"datos"
我使用 Postman 发送了一个 json 对象:
{
"nombre": "Alexkin",
"apellido": "Skywalker",
"correo": "alexkin2@mail.com",
"password": "123"
}
对此url: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);
}
});
}
};
我希望在我的数据库中创建一个不存在的用户,但最后我收到一条错误消息:
error: Sending 500 ("Server Error") response: UsageError: Invalid
initial data for new record. Details: Missing value for required
attribute nombre
. Expected a string, but instead, got: undefined
[?] See https://sailsjs.com/support for help...
将邮递员中的内容类型设置为application/json。然后将 json 粘贴到 "raw" 选项卡中。
我找到了答案,问题是在 1.0 以下的版本中,您必须发送一个对象 [Model.findOrCreate(data)],而在 1.0 以上的版本中,您必须发送两个对象[Model.findOrCreate(查找,数据)]...
我有一个模型 (User.js) 和一个控制器 (UserController.js),我在 blueprints.js 中设置了 "ations: true",我在 UserController 中也有一个名为"datos"
我使用 Postman 发送了一个 json 对象:
{
"nombre": "Alexkin",
"apellido": "Skywalker",
"correo": "alexkin2@mail.com",
"password": "123"
}
对此url: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);
}
});
}
};
我希望在我的数据库中创建一个不存在的用户,但最后我收到一条错误消息:
error: Sending 500 ("Server Error") response: UsageError: Invalid initial data for new record. Details: Missing value for required attribute
nombre
. Expected a string, but instead, got: undefined [?] See https://sailsjs.com/support for help...
将邮递员中的内容类型设置为application/json。然后将 json 粘贴到 "raw" 选项卡中。
我找到了答案,问题是在 1.0 以下的版本中,您必须发送一个对象 [Model.findOrCreate(data)],而在 1.0 以上的版本中,您必须发送两个对象[Model.findOrCreate(查找,数据)]...