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

Express后端Post接口请求体返回Undefined问题排查求助

商品新增POST接口无法获取请求体数据排查求助

我是后端新手,在实现商品新增的POST接口时遇到问题,无法获取请求体数据,控制台打印name字段显示undefined。以下是完整代码,请求帮忙排查:

Model代码

const mongoose = require('mongoose');

const productSchema = new mongoose.Schema({
  name: {
    type: String,
  },
  ...
});

const Product = mongoose.model('Product', productSchema);

module.exports = Product;

Controller代码

const Product = require('../models/productModel');

...

const createProduct = (req, res) => {
  const {
    name,
    ...
  } = req.body;
  console.log(name);
  ...
};

module.exports = {
  ...
  createProduct,
  ...
};

控制器中console.log(name)返回undefined。

Routes代码

const express = require('express');
const router = express.Router();

const productController = require('../controllers/productController');

...

// POST /api/products
router.post('/', productController.createProduct);

...

module.exports = router;

index.js代码

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

// route imports
const productRoutes = require('./routes/productRoutes');

// local imports
const coonectDB = require('./db.js')

// Set up Express app
const app = express();
app.use(express.json());

// Set up body-parser middleware
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());

// Set up routes
app.use('/api/product', productRoutes);

// Start the server
app.listen(3000, () => {
  console.log('Server listening on port 3000');
});

coonectDB()
  .then(() => {
    console.log('db connection succeeded.')
  })
  .catch(err => console.log(err))

请求与日志信息

  • Postman请求:发送POST请求到http://localhost:3000/api/product,请求体采用Raw JSON格式,包含name等字段。
  • VS Code终端日志:控制台输出undefined(对应打印的name字段)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 23:27:04