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

使用Thunder Client发送POST请求时express中req.body返回undefined如何解决

解决方案:Express服务获取req.body返回undefined

核心原因

你没有在Express主应用入口文件中,在注册路由之前挂载JSON请求体解析中间件,Express默认不会自动解析application/json格式的请求体。

修复步骤

  1. 打开你的Express主文件(通常命名为app.js或index.js)
  2. 在注册路由的代码前,添加express.json()中间件挂载逻辑,示例如下:
const express = require('express')
const adminRouter = require('./routes/admin') // 替换为你自己的路由文件路径
const app = express()

// 必须放在路由注册之前,才能对后续路由生效
app.use(express.json())

// 注册你的路由
app.use('/api', adminRouter)

app.listen(3000, () => {
  console.log('服务已启动')
})

其他异常场景排查

  • 确认Thunder Client的请求体栏目选择的是JSON格式,而非Form、Text等其他类型
  • 检查你填写的请求体内容是合法JSON,不存在引号不配对、漏逗号等语法错误
  • 如果你使用的Express版本低于4.16.0,需要单独安装body-parser依赖:
    执行安装命令:npm install body-parser
    然后在主文件中引入配置:
    const bodyParser = require('body-parser')
    app.use(bodyParser.json())
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 10:15:01