Node.js + экспресс, как добавить строку в тело запроса? - PullRequest
0 голосов
/ 30 октября 2019

У меня есть обратный прокси, который отлично работает:

app.post('/geoserver', function (req, res) {
    apiProxy.web(req, res, {target: serverOne});
});

У запроса уже есть следующее тело:

enter image description here

Мне нужно добавить в тело запроса строку, подобную этой:

'<Filter> .... </Filter>'

Перед проксированием к serverOne.

Пробовал с req.body = req.body.replace('</Query>','<Filter> .... </Filter></Query>'), но тело кажется неопределенным.

Есть идеи, как это решить? Большое спасибо!

Ответы [ 2 ]

0 голосов
/ 30 октября 2019

Посмотрите, все может быть преобразовано в строку путем преобразования строки. но здесь в этом случае вы можете использовать JSON.stringify (JSON.parse (*)), * может быть любым форматом, для которого вы хотите изменить формат, здесь JSON.parse () отформатирует ваш текст, а JSON.stringify ()поможет вам сделать правильный формат JSON.

0 голосов
/ 30 октября 2019

Прежде всего, тело может быть undefined, если запрос не выполнен или неправильно проанализирован.

Попробуйте app.use(express.bodyParser()). Лучше использовать его во всем приложении.

Иногда, когда экспресс не работает, вы можете использовать connect.

Если вы используете его, может возникнутьбыть местом для реверс-инжиниринга и проверки, достигает ли самый простой запрос, так как скриншот, который вы предоставили, сделан из инструментов разработчика, верно? Это означает, что он может быть только отправлен, но не получен / неправильно интерпретирован.

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