По какой-то причине бэкэнд моего приложения не считает, что я предоставляю данные, хотя я и тестирую свои маршруты.
Я огляделся, но не нашелвсе, что вполне соответствует проблеме, с которой я сталкиваюсь.
Я пытался создать бэкэнд для своего приложения, следуя этой серии руководств: https://www.youtube.com/playlist?list=PL55RiY5tL51q4D-B63KBnygU6opNPFk_q
Прежде чем добавить проверкук моим моделям я получил 200 и 201 для моих HTTP-запросов.После добавления проверки я начал получать сообщения об ошибках, информирующие меня о том, что я не предоставляю необходимую информацию, даже если это так.
Я использую Mongoose 5.5.8, Cors 2.8.5, Body-Parser1.19.0, и Почтальон 7.1.1.
Я пытался использовать метод .exec () один раз, но это только дало мне худшую ошибку.
Вот моя модель:
const studentSchema = mongoose.Schema({
_id: mongoose.Schema.Types.ObjectId,
first_name: { type: String, required: true },
last_name: { type: String, required: true },
preferred_name: { type: String, required: true }
});
module.exports = mongoose.model("Student", studentSchema);
Вот мой контроллер:
add_student: (req, res) => {
const student = new Student({
_id: new mongoose.Types.ObjectId(),
first_name: req.body.first_name,
last_name: req.body.last_name,
preferred_name: req.body.preferred_name
});
student
.save()
.then(result => {
console.log(result);
res.status(201).json({
message: "Student added!",
createdStudent: {
first_name: result.first_name,
last_name: result.last_name,
preferred_name: result.preferred_name
}
});
})
.catch(err => {
console.log(err);
res.status(422).json({
error: err
});
});
},
Вот мой маршрут:
router.route("/")
.post(studentController.add_student)
А вот данные, которые я пытаюсь передать через Почтальон:
{
"first_name": "Steve",
"last_name": "Jones",
"preferred_name": "Stevie Boy"
}
Как видите, я передаю данные, но продолжаю получать ошибки, как будто там вообще нет информации.
Я думаю, мне нужно знать, как правильно предоставить пропускданные через мой контроллер, поэтому мое приложение не думает, что я пытаюсь передать пустой объект.