错误发送数据到mongodb从我自己的api



实际上,我正在开发一个flutter应用程序,将数据发送到我自己在node js中创建的API,然后数据转到MongoDB集群,当我测试API时,它正在工作,数据转到MongoDB,但当我试图从我的flutter应用程序发送数据时,它给出了以下错误:

(node:4856) UnhandledPromiseRejectionWarning: ValidationError: User validation failed: name: Path `name` is required., email: Path `email` is required., password: Path `password` is required.

我认为所需的数据没有接收到MongoDB,所以我创建了一个简单的javascript应用程序,将该数据发送到API,但我收到了同样的错误,我认为这是来自我的API的错误,但当我从邮递员发送数据时,还是可以的,或者雷声客户端。这是我创建的API代码:

const DB = "mydburl"
app.use(express.json());
app.post('/api/signup', async (req, res) => {
const {name, email, password} = req.body;
const existingUser = await User.findOne({ email });
if (existingUser) {
return res.status(400).json({ msg: "User with same email already already exists" })
}
const hashedPassword = await bcryptjs.hash(password, 8);
let user = new User({
email,
password : hashePassword,
name,
});
res.json(user)
user = await user.save();
console.log(user);
}); 

mongoose.connect(DB).then(() => {
console.log("connection succesful")
})
.catch((e) => {
console.log(e);
})

app.listen(PORT, "0.0.0.0", () => {
console.log(`connected at port ${PORT}`)
});
app.post('/api/signup', async (req, res) => {
const {name, email, password} = req.body;
console.log(`name=${name} , email = ${email} , password=${password}`);
const existingUser = await User.findOne({ email });
if (existingUser) {
return res.status(400).json({ msg: "User with same email already already exists" })
}
const hashedPassword = bcryptjs.hashSync(password, 8);
let user = new User({
email:email,
password : hashePassword,
name:name
});
user.save().then((userSaved)=>{
return res.status(200).json(user);
}).catch((e)=>{
return res.status(500).json({status:"error",error:e})
});

}); 

相关内容

最新更新