NodeJS和Express:如何打印在GET和POST请求中传递的所有参数

SaN*_*Nmm 5 node.js express

我想记录传递给我的端点的所有查询参数.每当他们打电话给我时,即通过GET,POST.我能够打印所有GET查询参数,但与POST参数挣扎.

我使用req.body,但它不起作用它只打印[对象对象]甚至JSON.stringify没有帮助.

任何人都可以指向我正确的来源寻找它

Pet*_*ons 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()
})
Run Code Online (Sandbox Code Playgroud)