У меня есть несколько методов post в узле. Один из них работает, теперь я работаю над другим. Я попытался переключить порядок пар ключ-значение в res.body, перезапустив мой серверный сервер и несколько других вещей, и теперь у меня нет идей. Я использую почтальон, поэтому, возможно, проблема с этим, но, возможно, вы, ребята, увидите явную ошибку, которой я не занимаюсь.Почтовый метод в узле отображает ошибку 500
Вот модель:
var UserGameSchema = new mongoose.Schema({
user: { type: String, required: true },
game: { type: String, required: true },
own: { type: Boolean, required: true }
});
var UserGame = mongoose.model('UserGame', UserGameSchema);
module.exports.UserGame = UserGame;
вот мой метод:
app.post('/mygames', function(req, res) {
UserGame.create({
user: req.body.user,
game: req.body.game,
own: req.body.own
}, function(err, item) {
if (err) {
return res.status(500).json({
message: 'Internal Server Error'
});
}
res.status(201).json(item);
});
});
и вот res.body Я посылаю с помощью Почтальон
{
"user": "Colin",
"own": true,
"game": "Grand Theft Auto 5 (PS4)"
}
Да, я довольно конечно, я использую правильный URL: http://localhost:8080/mygames
все еще получающ эту ошибку 500. В частности Почтальон возвращается в консоли:
TypeError: Cannot read property 'user' of undefined
Я не уверен, почему пользователь должен быть определен.
Благодарим за любую отзыв.
Если ищете способ слишком много информации, вот GitHub репо для этого: https://github.com/auldsy-ababua/gameswap
Вы используете [ 'тело-parser'] (https://www.npmjs.com/package/body-parser)? – robertklep
Я использую body-parser –
Поскольку 'req.body', кажется, не определен, возможно, вы не используете его правильно. Например, он должен быть объявлен перед вашими маршрутами. Кроме того, вам нужно убедиться, что он настроен для анализа данных JSON (потому что это то, что вы отправляете на него). – robertklep