В новом экспрессе, где неявный body-parser, как получить необработанное тело запроса в промежуточном программном обеспечении? - PullRequest
0 голосов
/ 18 марта 2019

Я хотел бы получить необработанное тело запроса в одном из промежуточных программ в моем приложении Express.В Stackoverflow есть несколько постов, в которых показано, как это сделать (например, Node.js - получить необработанное тело запроса с помощью Express или . Написание промежуточного программного обеспечения Express для получения необработанного тела запроса перед анализатором тела ), но:

  • Они используют body-parser, который, как мне кажется, встроен в новую версию Express, поэтому я не уверен, как его использовать в этом случае
  • ОниИзвлечь необработанный запрос в app.use(), что означает, что все маршруты будут извлекать необработанный запрос, тогда как я хочу извлечь его только одним маршрутом (точнее, в независимом промежуточном программном обеспечении, которое скрыто в моем коде, а не в app.js)., к которому я хочу иметь возможность просто передать элемент req и извлечь его необработанное тело).

Любой совет, как лучше всего это сделать?

1 Ответ

0 голосов
/ 18 марта 2019

Предполагая, что вы еще не проанализировали тело до достижения этого маршрута (используя body-parser или что-то подобное), в вашем файле маршрутов будет работать следующее:

var express = require('express');
var router = express.Router();
var bodyParser = require('body-parser');

router.get('/path', bodyParser.raw(options), (req,res){
   //your code
});

bodyParser.raw (options) вернет функцию, которая принимает 3 аргумента (req, res, next) и необработанное тело станет доступным в req.body


Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...