我有以下代码,它绝对不执行任何操作,由于某些原因,我的猫鼬错误甚至没有被调用,这是代码:
.post('/testRequest', express.json(), upload.none(), async (req, res) => {
try {
res.status(200);
res.send('test');
} catch (err) {
console.error(err.stack);
res.status(err.code || 400);
res.send(err.message || err);
}
})
这是错误:
message: 'Cast to ObjectId failed for value "test" at path "_id" for model "Requests"',
name: 'CastError',
stringValue: '"test"',
kind: 'ObjectId',
value: 'test',
path: '_id',
reason: undefined,
我尝试了很多事情,但似乎并没有解决
答案 0 :(得分:1)
您可能在代码上方有一个.post(':id', ...)
。因此,对/testRequest
的发布请求会匹配'/:id'
和'/testRequest'
路由,但只有前一个路由会执行。
':id'
路由将testRequest
作为ID读取并抛出CastError。
您可以交换已在here中讨论过的方法的顺序。