如何在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手冊


更多節點教程: