我想记录传递给我的端点的所有查询参数。每当他们打电话给我时,即通过GET,POST。我能够打印所有GET查询参数,但与POST参数挣扎。
我使用 req.body ,但这不起作用它只打印 [对象] ,即使JSON.stringify没有帮助。
任何人都可以指向我正确的来源寻找它
答案 0 :(得分:8)
因此POST参数到达HTTP请求主体,并由node.js作为数据块流处理。因此,您必须做的第一件事是确保将块流组合成一个完整的数据。然后你可能想要将其解析为url编码或JSON,如果它是什么。标准中间件为body-parser。你像在README中所说的那样设置它:
var express = require('express')
var bodyParser = require('body-parser')
var app = express()
// parse application/x-www-form-urlencoded
app.use(bodyParser.urlencoded({ extended: false }))
// parse application/json
app.use(bodyParser.json())
// parse application/vnd.api+json as json
app.use(bodyParser.json({ type: 'application/vnd.api+json' }))
app.use(function (req, res, next) {
console.log(req.body) // populated!
next()
})