Express 密钥已通过,但在postman中验证失败

Express 密钥已通过,但在postman中验证失败,express,postman,joi,Express,Postman,Joi,我有一个补丁请求,根据文档的对象更新某些信息。当我使用邮递员(表单数据)发送请求时,我收到一个验证错误,上面写着“\u id”是必需的 这是《邮递员》中的画面 路线与此相似 router.patch("/update", async (req, res) => { try{ await updateValidation(req.body); // whatever stuff processed with the data

我有一个补丁请求,根据文档的对象更新某些信息。当我使用邮递员(表单数据)发送请求时,我收到一个验证错误,上面写着“\u id”是必需的

这是《邮递员》中的画面

路线与此相似

router.patch("/update", async (req, res) => {
    try{
        await updateValidation(req.body);
        // whatever stuff processed with the data
    } catch (err) {
       res.status(400).send({ message: err.details[0].message });
    }
}
验证函数如下所示

const updateValidation = (data) => {
    const schema = Joi.object({
        _id: Joi.string().required(),
        // other whatever validation possible
    });

    return schema.validateAsync(data);
};

我是不是遗漏了什么?我想是的,请指出。

除了使用
var-bodyParser=require('body-parser')
npm install --save body-parser multer
因此,将此代码添加到server.js中

var express = require('express');
var bodyParser = require('body-parser');
var multer = require('multer');
var upload = multer();
var app = express();
下次使用此中间件时:

// for parsing application/json
app.use(bodyParser.json()); 

// for parsing application/xwww-
app.use(bodyParser.urlencoded({ extended: true })); 
//form-urlencoded

// for parsing multipart/form-data
app.use(upload.array()); 
app.use(express.static('public'));

导入body parser和multer后,我们将使用body parser解析json和x-www-form-urlencoded头请求,同时使用multer解析多部分/表单数据。

首先,我在条目文件中使用bodyparser。第二,这听起来很愚蠢,但我完全失去了这一点,就像我完全忘记了骡子一样。我在其他路线上使用这个。谢谢你指出,你救了我一个小时的挫折。