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

Node.js中Express框架POST接口(adduser)无法正常使用求助

解决Express POST接口控制台输出[object object]的问题

我用Node.js的Express框架开发,运行名为adduser的POST接口时,控制台输出了[object object]。以下是我的代码:

路由文件代码

const express = require('express');
const apiController = require('../controllers/api.controller');
const router = express.Router();
router.post('/new', apiController.addUser);

控制器文件(api.controller.js)代码

const addUser = async (req, res) => {
   const { firstName, lastName, age } = req.body;

    console.log('post data is '+ req.body);
    console.log('first name is '+ lastName);
    console.log('age is '+ age);

    if (!firstName || !firstName.trim() || !lastName || !lastName.trim() || age == null || age < 0)
        return res.status(400).send({ statusCode: 400, statusMessage: 'Bad Request', message: null, data: null });

    try {
        const user = new User(firstName, lastName, age);
        await user.save();

        res.status(201).send({
            statusCode: 201,
            statusMessage: 'Created',
            message: 'Successfully created a user.',
            data: null,
        });
    } catch (err) {
        res.status(500).send({
            statusCode: 500,
            statusMessage: 'Internal Server Error',
            message: null,
            data: null,
        });
    }
};

问题原因

  1. 控制台输出[object object]是因为用字符串拼接对象:'post data is '+ req.body会将对象转为默认字符串表示[object Object]。
  2. 代码存在变量名错误:console.log('first name is '+ lastName)中,应该打印firstName而非lastName。
  3. 如果未配置JSON解析中间件,req.body会是undefined,导致后续解构和打印都出问题。

解决方法

  1. 正确打印对象:
    • 直接传递对象参数给console.log,Node.js会自动格式化输出:
      console.log('post data is', req.body);
      
    • 或者用JSON.stringify将对象转为可读格式化字符串:
      console.log('post data is '+ JSON.stringify(req.body, null, 2));
      
  2. 修正变量名错误:
    console.log('first name is '+ firstName);
    
  3. 配置JSON解析中间件:
    在Express主入口文件(如app.js)中添加,确保能解析POST请求的JSON体:
    app.use(express.json());
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 23:34:59