Недопустимый заголовок Content-Type
вашего запроса:
Content-Type: application/json;
Завершающей точки с запятой не должно быть. Так и должно быть:
Content-Type: application/json
FWIW, здесь не используется bodyParser.urlencoded
; поскольку содержимое тела - JSON, bodyParser.json
обрабатывает тело запроса. Но вполне нормально, что оба этих парсеров тела активны.
РЕДАКТИРОВАТЬ : если то, что отправляет клиент, находится за пределами вашего контроля (или это слишком хлопотно, чтобы исправить это на стороне клиента), вы можете добавить дополнительное промежуточное программное обеспечение для Express, которое исправит неверный заголовок :
app.use(function(req, res, next) {
if (req.headers['content-type'] === 'application/json;') {
req.headers['content-type'] = 'application/json';
}
next();
});
Убедитесь, что вы делаете это до строки, которая загружает bodyParser.json
.