Я делаю приложение доставки.Когда я пытаюсь отправить запрос заказа в Postman со всеми необходимыми данными, я получаю следующую ошибку для каждого объекта:
"message": "order validation failed: recipient.recLocation.recPhone: Path `recipient.recLocation.recPhone` is required., recipient.recLocation.recZipcode: Path `recipient.recLocation.recZipcode` is required., recipient.recLocation.recStreetnumber: Path `recipient.recLocation.recStreetnumber` is required., recipient.recLocation.recStreet: Path `recipient.recLocation.recStreet` is required., recipient.recLocation.recCity: Path `recipient.recLocation.recCity` is required., recipient.recName: Path `recipient.recName` is required.",
Таким образом, в основном, ни один из моих запросов не проходит.Я огляделся и согласно тому, что я нашел в предыдущих ответах здесь и в Google, и моя модель Мангуста, и мой файл маршрута, кажется, в порядке.Вот фрагмент из модели для «получателя»:
recipient: {
//rec in front of field names stands for "recipient" - done so that the data of recipient doesn't get confused for the data of the sender
recName: {
type: String,
required: true
},
recLocation: {
recCity: {
type: String,
required: true,
max: 32
},
recStreet: {
type: String,
required: true,
max: 32
},
recStreetnumber: {
type: String,
required: true,
max: 16
},
recZipcode: {
type: String,
required: true,
max: 16
},
recPhone: {
type: String,
required: true,
max: 32
}
}
}
А вот фрагмент из файла маршрутизации:
const orderFields = {};
orderFields.user = req.user.id;
if (req.body.description) orderFields.description = req.body.description;
if (req.body.status) orderFields.status = req.body.status;
//recipient
orderFields.recipient = {};
if (req.body.recName) orderFields.recipient.recName = req.body.recName;
if (req.body.recCity) orderFields.recipient.recCity = req.body.recCity;
if (req.body.recStreet)
orderFields.recipient.recStreet = req.body.recStreet;
if (req.body.recStreetnumber)
orderFields.recipient.recStreetnumber = req.body.recStreetnumber;
if (req.body.recZipcode)
orderFields.recipient.recZipcode = req.body.recZipcode;
if (req.body.recPhone) orderFields.recipient.recPhone = req.body.recPhone;
Я предполагаю, что мой способ определения пути неверен, но я сделал это в соответствии с тем, что нашел Гуглинг, и исследовал другие вопросы здесь.
Заранее спасибо!
РЕДАКТИРОВАТЬ
Это то, что я пытаюсь передать в Почтальоне
Кроме того, когда я изменяю вышефрагмент из файла маршрутизации по адресу:
orderFields.recipient = {};
if (req.body.recName) orderFields.recipient.recName = req.body.recName;
if (req.body.recCity)
orderFields.recipient.recLocation.recCity = req.body.recCity;
if (req.body.recStreet)
orderFields.recipient.recLocation.recStreet = req.body.recStreet;
if (req.body.recStreetnumber)
orderFields.recipient.recLocation.recStreetnumber =
req.body.recStreetnumber;
if (req.body.recZipcode)
orderFields.recipient.recLocation.recZipcode = req.body.recZipcode;
if (req.body.recPhone)
orderFields.recipient.recLocation.recPhone = req.body.recPhone;
Я получаю другую ошибку: 2-й скриншот почтальона