我需要获取POST请求的rawBody(缓冲区),但是我只需要在应用程序中的单个路由上执行此操作。

当前,我在主app.js中使用以下内容:

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


这可行,但是它正在为每个路由发送缓冲区。这是不理想的,因为它对我的应用程序中的每个请求都使用两倍的RAM。

我该如何在需要它的单条路线上获取rawBody?

最佳答案

通常,您将创建该单一路由并内联中间件:

app.post('/route', bodyParser.json(...), function(req, res) {
  ...
});


随后是“常规”设置:

app.use(bodyParser.json());

app.post('/another-route', function(req, res) {
  ...
});


除了滥用bodyParser.json(),您还可以考虑使用bodyParser.raw()

关于javascript - Express:rawBody/缓冲区在单个路径上,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46120988/

10-09 21:02