javascript - CRUD op Express.js Node.js Mysql 无法使用 MVC 插入
问题描述
我正在尝试使用 React.js、Express.js 和 Node 来实现 CRUD 操作,所以我编写了一个基本代码并且这可以工作,但我想使用 Model 和 Controller 来获得一个干净的代码,所以这不起作用并向我发送我不知道的错误问题是什么所以这里有人可以指导我让它工作吗?顺便说一句,Get 有效,但插入没有。
我用邮递员测试它,我得到:
Error : Cannot POST /api/insert
这是代码:
控制器.js
// create new car
exports.createNewCar = (req, res) =>{
const carReqData = new CarModel(request.body);
console.log('carReqData', carReqData);
// check null
if(req.body === Object && Object.keys(req.body).length === 0){
res.send(400).send({success: false, message: 'Please fill all fields'});
}else{
CarModel.createCar(carReqData, (err, car)=>{
if(err)
res.send(err);
res.json({status: true, message: 'Car Created Successfully', data: car.insertId})
})
}
}
模型.js
// create new car
var Car = function(car){
this.idCars = car.idCars;
this.carName = car.carName;
this.carModel = car.carModel;
}
Car.createCar = (carReqData, result) =>{
db.query('INSERT INTO Cars SET ?', carReqData, (err, res)=>{
if(err){
console.log('Error while inserting data');
result(null, err);
}else{
console.log('Car created successfully');
result(null, res)
}
})
}
路由.js
// create new car
router.post('/insert', carController.createNewCar);
索引.js
app.use('/insert', CarRoutes);
解决方案
我通过编辑路线解决了这个问题
路由.js
router.post('/', carController.createNewCar);
index.js
app.use('/app/insert', CarRoutes);
推荐阅读
- javascript - 导入css时开玩笑的意外令牌
- javascript - Dropout 在 React 中无法正常工作
- hdfs - Apache Drill 消耗大量堆空间
- python - 如何从文档中查找和打印不匹配/不相似的单词?
- css - HTML 中的两个块元素之间是否会忽略空格或换行?
- python - 如何使用 python 附加到 YAML 文件
- java - 如何在@CsvBindByName 中获得准确的名称?
- java - 如何以任何顺序检查特定的关键字/值对
- android - 如何在谷歌驱动器上使用 android 上传/下载文件?
- python - 关于具有自定义损失的 3 输出 ANN 的权重