You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Express POST接口调用req.body为空 仅单台工作笔记本复现异常

问题描述
  • 本地开发Express框架POST接口,工作笔记本上通过Postman调用时req.body始终为null
  • 完全相同的代码、一致的Postman请求配置,在朋友的笔记本、个人其他笔记本上均可正常运行
  • 暂未定位到工作笔记本的异常根因
接口实现代码
const express = require("express");
const bodyParser = require("body-parser");

const app = express();

app.use(bodyParser.json());
app.use(express.urlencoded({ extended: true}));

const sayHi = (req, res) => {
  res.send("Hi!");
};

app.get("/", sayHi);

app.post("/add", (req, res) => {
  const { a, b } = req.body;
  console.log(req.body)
  res.send(`The sum is: ${a + b}`);
});

app.listen(5000, () => {
  console.log(`Server is running on port 5000.`);
});
Postman请求配置参考

Postman请求配置截图

可落地排查方向
  • 校验请求头配置:确认工作本Postman发起请求时携带了正确的Content-Type: application/json请求头。部分场景下Postman本地自定义头规则、历史配置残留会覆盖自动生成的Content-Type头,导致body-parser无法识别JSON格式请求体,最终解析为null。
  • 排查端口占用问题:确认本地5000端口没有被其他服务(如IIS、其他本地调试服务、系统代理组件)占用。如果请求实际被转发到同端口的其他非目标服务,会出现body解析异常,可临时将服务监听端口修改为3005等不常用端口重启测试。
  • 排查网络代理/安全工具干扰:如果工作本开启了全局VPN、Fiddler/Charles等抓包工具、企业终端安全管控代理,这类工具可能篡改请求头、截断或修改请求体,导致服务端收到的请求格式非法。可临时关闭上述工具后重试请求。
  • 排除Postman本地配置异常:不要复用历史保存的请求模板,在工作本Postman中新建全新请求,手动填写接口地址,选择raw-JSON格式传入测试参数(如{"a": 1, "b": 2})后发起调用。也可直接在终端执行curl命令发起请求,绕过Postman验证接口本身是否正常,测试命令如下:
curl -X POST http://localhost:5000/add -H "Content-Type: application/json" -d '{"a":1,"b":2}'
  • 校验依赖版本一致性:对比工作本与正常运行设备的express、body-parser依赖版本,部分旧版本依赖存在特殊场景下的JSON解析兼容问题。可删除工作本项目下的node_modules文件夹与package-lock.json文件,重新执行npm install安装全新依赖后重启服务测试。
  • 检查请求路径匹配:确认工作本Postman填写的请求地址没有拼写错误,避免因路径写错触发了其他隐式响应逻辑,导致拿到非预期的空body结果。

内容的提问来源于stack exchange,提问作者Abhishek Dhakad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 22:54:10