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

Postman中req.body未定义导致无法读取userName属性问题求助

解决req.body为undefined导致无法读取注册参数的问题

核心原因

你的Express应用未配置JSON请求体解析中间件,无法解析Postman发送的JSON格式请求数据,因此req.body始终为undefined。手动传参能成功是因为不需要依赖请求体解析,直接使用了硬编码的固定数据。

解决方案

在你的Express主文件(如app.js或server.js)中,在路由注册前添加JSON解析中间件:

const express = require('express');
const app = express();

// 关键步骤:启用JSON请求体解析
app.use(express.json());

// 后续注册你的用户路由
const userRoutes = require('./routes/userRoutes');
app.use('/api/users', userRoutes);

Postman配置检查

确保Postman请求设置正确:

  • 请求方法选择POST
  • 请求头添加Content-Type: application/json
  • 在Body标签下选择raw格式,并切换为JSON类型后再粘贴你提供的JSON数据

代码优化(可选)

确认请求体被正常解析后,可直接将req.body传入User.create(建议先添加参数合法性校验,避免非法数据入库):

exports.Signup = catchAsync(async (req, res, next) => {
  const newUser = await User.create(req.body);

  res.status(201).json({
    status: 'success',
    data: {
      user: newUser,
    },
  });
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 02:37:13