Express.Router、body-parser 和 post 请求 body

Express.Router, body-parser and post request body

我正在尝试使用 express.Router 来分隔我的路由,并使用 Postman 测试一些 post 请求。 在不使用路由器 body-parser 的情况下对 /test 执行 post 请求工作正常,我可以看到 body。 对使用 Router 的 /posts 执行完全相同的请求会给我 undefined body。 我在 posts 路由器之前调用 body-parser 中间件。有什么我想念的吗?

我的快递服务器文件:

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

app.use(bodyParser.json());

const postsRoute = require('./routes/posts');
app.use('/posts', postsRoute);

app.post('/test',(req,res)=>{    
    console.log('Add post:',req.body);
});


app.listen(3000);

我的 posts 路由器文件:

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

router.get('/',(req,res)=>{
    res.send('Posts');
});

router.post('/',(res,req)=>{
    console.log('Add post:',req.body);
});

module.exports = router;

我的 postman 请求 Content-type header 设置为 application/json: img

我一发布问题,就发现我写的 req 和 res 的顺序错了。一个愚蠢的错误需要 1 个半小时!祝大家有个愉快的一天!