Node.js 为什么请求验证失败?

Node.js 为什么请求验证失败?,node.js,express,joi,Node.js,Express,Joi,我试图复制亚当的例子 这是一个错误 "message": "celebrate request validation failed", "validation": { "query": { "source": "query", "keys": [ &qu

我试图复制亚当的例子

这是一个错误

 "message": "celebrate request validation failed",
    "validation": {
        "query": {
            "source": "query",
            "keys": [
                "token"
            ],
            "message": "\"token\" is required"

        }
邮递员要求

{
    'name' : 'John J.',
    'age' : 23,
}
我将令牌设置为参数,现在工作正常。 我现在有参考错误

<body>
    <pre>ReferenceError: name is not defined<br>

当您尝试使用res.json{success:true,data:{name,age,role}}返回数据时;,没有定义任何变量名称、年龄或角色。您需要首先从请求主体检索它们

或者

const { name, age, role } = req.body;
res.json({ success: true, data : { name, age, role }});
或者是一种更好的方式

err":{"type":"Error","message":"failed with status code 500","stack":"Error: failed with status code 500\n    at ServerResponse.onResFinished (/home/trajche/pract/joi1/node_modules/pino-http/logger.js:73:38)\n    at ServerResponse.emit (events.js:326:22)\n    at onFinish (_http_outgoing.js:751:10)\n    at callback (_stream_writable.js:501:21)\n    at afterWrite (_stream_writable.js:454:5)\n    at afterWriteTick (_stream_writable.js:441:10)\n    at processTicksAndRejections (internal/process/task_queues.js:79:21)"},"responseTime":3,"msg":"request errored"}
ReferenceError: name is not defined
res.json({ success: true, data : { name: req.body.name, age: req.body.age, role: req.body.role }});
const { name, age, role } = req.body;
res.json({ success: true, data : { name, age, role }});