我正在使用Nodejs和使用expressjs,现在我正试图使用"body-parser"与"router"但现在我得到以下错误[对象对象],我该如何解决这个问题?这是我的api.router.js"文件
const express = require('express');
const apiController = require('../controllers/api.controller');
const router = express.Router();
var bodyParser = require('body-parser')
// Endpoint for creating a new record
router.post('/new', apiController.addUser);
module.exports = router;
这里是我的"api。controller。js">
const User = require('../models/user.model');
const addUser = async (req, res) => {
const { firstName, lastName, age } = req.body;
console.log(req.body);
...
}
从代码中删除以下行:
var bodyParser = require('body-parser');
在定义路由之前,将以下代码添加到api.router.js文件中:
router.use(express.json());
router.use(express.urlencoded({ extended: true }));
作者解释了两种用法
Express/Connect顶级泛型和表达route-specific
您可以使用其中任何一个,也可以根据您的需求有条件地使用
您可以使用app.use(bodyParser.json());
或app.use(express.json());
const express = require("express");
const app = express();
var bodyParser = require('body-parser')
const helloworld_route = require("./routes/helloworld");
const port = process.env.PORT || 2000;
app.use(bodyParser.json());
app.use("/", helloworld_route);
app.listen(port, () => {
console.log(`Listening on ${port}`);
});