首页 > 解决方案 > Node Express 访问 rawBody

问题描述

我让自己有点困惑。我也创建了一个外部 API 发送请求的端点。我正在使用 Express 4,所以在 app.js 中我将其设置为这样

app.use(express.json());
app.use(express.urlencoded({ extended: false }));

我删除了很多代码,但是我的端点收到了请求,我可以输出它

const postEvent = async (req, res) => {
  try {
    logger.info(`BODY ${util.inspect(req.body, { showHidden: false, depth: null })}`);
    return apiResponse.success(res);
  } catch (err) {
    return apiResponse.errorResponse500(res, msg);
  }
};

这样就可以成功输出请求的正文。但是,发送此请求的 API 有一些示例代码,我认为它适用于较旧的 express 版本。他们有这部分

let hash = cryptoJS.HmacSHA1(req.rawBody, ">>>YOUR WEBHOOK SECRET<<<");

但是,如果我尝试记录req.rawBody它,它会显示为未定义。

我在网上看到Express 4没有这个,但是找不到输出任何东西的解决方案。

那么我将如何进行上述操作?

谢谢

标签: node.jsexpress

解决方案


推荐阅读