当我从服务器获取响应并检查api参数库lib @ hapi / Joi时,当我检查api参数抛出代码时,它们向我显示错误:无法读取未定义的属性“ 0”?
这是一个使用express.js库的node.js服务器 当我评论此代码并检查邮递员中的api时,我的代码已完全运行!
//validate api params
const {error} = apiParamsSchema.schema({adminUsername,adminPassword});
// console.log(adminPassword);
if(error){
return res.status(400).json({
success: false,
message: error.details[0].message
});
}
我对这段代码的期望是10/10,因为同一代码在另一台服务器上运行,但它们没有向我显示错误,因此所有代码都很好并且可以在另一台服务器上正常运行
答案 0 :(得分:0)
我认为您的错误对象不包含details键。因此,您可以替换如下代码:-
STRIPBYTECOUNTS
如果您不想指定硬编码的错误消息,则只需返回错误即可。
答案 1 :(得分:0)
是的,您可能没有error.details[0]
。除此以外的另一种选择是,只需将代码编辑为
return res.status(400).json({
success: false,
message: error
});
这样,您将看到整个错误对象,并可以缩减消息键:根据实际服务器响应,将值对更改为message: error.details
或message: error.details.message
之类的内容