如何访问正文设置为原始数据的邮递员请求的 req.body.title

How do you access req.body.title of a postman request with the body set to raw data

这是我使用的原始数据。默认设置为文本。

{  
   "title":"New Course",
   "description":"My course description",
   "user":{  
      "_id":"57029ed4795118be119cc437"
   },
   "steps":[  
      {  
         "title":"Step 1",
         "description":"My First Step"
      }
   ]
}

我在我的路线中接收数据:

if (req.body.title && req.body.description) {
    //  something good
} else {
    //  bad news bears
}

但由于某种原因它返回 false。并且值未定义。

正如您在评论中提到的那样,得到 error: "Unexpected token o in JSON at position 1". 仅当您正在解析已经是 JSON object.

的数据时才会出现此错误

请尝试以下步骤来调试您的问题,希望这会有所帮助:)

  1. 在向服务器发送请求之前,在 POSTMAN 中将 content-type header 设置为 application/json
  2. 在上面的代码中,在 if 条件 if (req.body.title && req.body.description) 之前放置 console.log(req.body) 并验证您在服务器端获得的数据类型
  3. 如果 body 是 object 你可以访问它的属性,如果 body 是字符串那么你需要使用 JSON.parse(req.body) JSON