Я создаю простой Mock-сервер, на который я хочу (пока) ответить на сообщение с телом запроса.У меня возникла проблема, из-за которой я не могу последовательно получить тело этого запроса.
Иногда это работает, но только если я быстро делаю несколько сообщений.Если я задерживаюсь более 5 секунд между сообщениями, тело выглядит как {}.
Как я могу гарантировать, что я всегда получаю тело?Я ценю любую помощь, оказанную!Я новичок в узле, поэтому я уверен, что есть некоторые очевидные ошибки.
- Я отправляю запрос, используя Postman, и установил заголовок для «Content-Type» со значением «application / json»".
- Я использую bodyParser.json () после определения приложения, но перед использованием маршрутов.
Присоединение промежуточного программного обеспечения и прослушивание:
app = express();
app.use(bodyParser.json());
var router = require('./router.js');
app.use(router);
httpServer = http.createServer(app);
httpServer.listen(webServerConfig.port)
.on('listening', () => {
console.log(`Web server listening on localhost:${webServerConfig.port}`);
Соответствующая частьмаршрутизатора:
router.route('/api/v1/customer')
.post(customers.post);
Функция сообщения, вызываемая маршрутизатором:
function post(req, res, next) {
try {
var body = req.body;
console.log('post: ', body);
res.status(200).json(req.body);
next();
} catch (err) {
res.status(500);
next(err);
}
}
Тело первого ответа (или ожидание 5 секунд между ответами):
{}
Тело последующих ответов, сделанных в быстрой последовательности (это также тело, которое я отправляю в почтовом запросе):
{
"phone": "8124713403",
"smsOptStatus": "out",
"addressLine1": "100 Regolith Lane",
"birthDay": 2,
"firstName": "Bill",
"emailAddress": "test3sldkfjslkdfa@live.com",
"lastName": "Shepherd",
"emailOptStatus": "in",
"city": "Mooncity",
"loyaltyStatus": "member",
"birthMonth": 7,
"state": "CA"
}