node.js - 为什么当我尝试向我的控制器发送数据时它返回一个错误?
问题描述
我有一个模型(User.js)和一个控制器(UserController.js),我在 blueprints.js 中设置了“ations:true”,我在 UserController 中还有一个名为“datos”的函数
使用 Postman 我发送一个 json 对象:
{
"nombre": "Alexkin",
"apellido": "Skywalker",
"correo": "alexkin2@mail.com",
"password": "123"
}
到这个网址:localhost:1337/user/datos
这是我的代码:
用户.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'
},
},
};
用户控制器.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
。期望一个字符串,但得到: undefined [?] 请参阅https://sailsjs.com/support以获取帮助...
解决方案
将 postman 中的 content-type 设置为 application/json。然后将 json 粘贴到“原始”选项卡中。
推荐阅读
- python - 如何在 Python 中创建一个接收数字列表并返回该数组中两个最大数字之和的函数?
- python - 在 pandas.melt 之后保留列索引?
- flutter - Flutter Webview 获取断言时出错;客户缺少必要的权利;
- three.js - 检测动画剪辑循环中的特定点[怪物攻击动画]
- reactjs - Framer-motion 覆盖 react-bootstrap
- ssl - 如何修复 magento v1.9 中的混合(不安全)错误
- python - 突出显示 Excel 列中大于某个值的总和
- vue.js - Vue 3 Teleport 是否仅适用于移植到 Vue 外部?
- python - 使用 BeautifulSoup 索引错误进行网页抓取
- python - 为什么使用 Numba xoroshiro128p 得到与随机数组相同的数字?