Node.js 在Express/Mongoose中使用GET端点但不使用POST端点的CastError?
我正在测试一个使用mongoose查询从ids获取用户数据的端点。我的代码的工作原理与POST端点类似,但如果端点更改为GET,则返回一个奇怪的错误Node.js 在Express/Mongoose中使用GET端点但不使用POST端点的CastError?,node.js,mongodb,express,mongoose,Node.js,Mongodb,Express,Mongoose,我正在测试一个使用mongoose查询从ids获取用户数据的端点。我的代码的工作原理与POST端点类似,但如果端点更改为GET,则返回一个奇怪的错误 router.route("/test").get(async (req, res) => { // works for POST route and request, not GET const ids = req.body.ids; users = []; for (let i = 0; i < id
router.route("/test").get(async (req, res) => { // works for POST route and request, not GET
const ids = req.body.ids;
users = [];
for (let i = 0; i < ids.length; i++) {
const userData = await User.findById(ids[i]);
users.push(userData);
}
res.json(users);
});
router.route(“/test”).get(async(req,res)=>{//用于POST路由和请求,而不是get
常量ID=req.body.ids;
用户=[];
for(设i=0;i
使用上面的代码,我得到了以下错误:“错误:CastError:对于模型“组”的路径“\u id”处的值“test”,转换为ObjectId失败”
用POST替换请求类型,我得到了我想要的结果。当代码的其余部分相同时,为什么会出现这种情况?不要让端点有点类似
例如:
product/:id
and similar with
item/:id
使您的端点独一无二
product/:id_product
item/:id_item
核心是,检查端点并使其唯一强>
上面的示例是我遇到的一个案例请显示您发出的两个HTTP请求(GET和POST)