如何在Express中同时获取已解析的正文和原始正文

了解如何在Express中同时获取已解析的正文和原始正文body-parser

在我正在构建的一个应用程序中,我遇到了这个问题。

使用Express,我可以导入body-parser将正文解析为JSON:

import bodyParser from 'body-parser'
app.use(bodyParser.json())

但是,要与Stripe Payments API集成,我需要公开原始身体(未解析)到端点中,而我仍然无法将主体解析为JSON,但我不知道该怎么做。

这达到了目的:

app.use(bodyParser.json({
  verify: (req, res, buf) => {
    req.rawBody = buf
  }
}))

现在可以在req.rawBody并且JSON解析的数据可用于req.body

来自body-parser在GitHub上,我发现这会使每个请求的RAM使用量增加一倍,但是由于我需要此功能,因此别无选择。

除了可能只为我要处理的Stripe Webhook创建其他服务器之外。

免费下载我的Node.js手册


更多节点教程: