Node.js缺少POST请求的正文

Node.js缺少POST请求的正文,node.js,post,Node.js,Post,我在端口3000上运行了一个简单的Node.js程序,它接收POST请求并记录它们: const express=require('express'); 常量app=express(); app.post('/post',异步(req,res)=>{ console.log('req.body:',req.body); log('req.rawHeaders:',req.rawHeaders); }); 但是,当我向其发送POST请求时: $curl--data“param1=value1&p

我在端口3000上运行了一个简单的Node.js程序,它接收POST请求并记录它们:

const express=require('express');
常量app=express();
app.post('/post',异步(req,res)=>{
console.log('req.body:',req.body);
log('req.rawHeaders:',req.rawHeaders);
});
但是,当我向其发送POST请求时:

$curl--data“param1=value1¶m2=value2”http://localhost:3000/post
程序收到的请求仅包含标题,缺少正文:

$node server.js
请求主体:未定义
请求标题:[
“主机”,
'本地主机:3000',
“用户代理”,
“curl/7.73.0”,
“接受”,
'*/*',
“内容长度”,
'27',
“内容类型”,
“应用程序/x-www-form-urlencoded”
]

我做错了什么?为什么请求的主体总是
未定义的

我认为需要在node.js文件中添加多一点配置,特别是必须添加主体解析器依赖项,以便可以从传入请求中提取整个主体部分

必须使用npm安装正文分析器:
npm安装主体解析器--保存

之后,应将其添加到文件并添加配置:

const bodyParser = require('body-parser')
const express = require('express');
const app = express();

app.use(bodyParser.json())
app.use(bodyParser.urlencoded({extended: false}))
有关此帖子的更多信息:
.

谢谢,这很有效!看起来也可以在不使用额外的
require('body-parser')
的情况下完成: