Я пытаюсь написать бэк-энд для приложения для гурманов. У меня проблема в методе PUT
, когда я пытаюсь изменить определенный пост, req.body
не содержит imageUrl
, если я не изменяю URL. Когда существует req.file
(изображение), тогда все работает, потому что я настроил новый imageURL. По некоторым причинам я получаю userId
, description
и все остальное обратно, кроме imageUrl
.
Вот мой код:
exports.modifySauce = (req, res, next) => {
let sauce = new Sauce({ _id: req.params._id });
if (req.file) {
const url = req.protocol + '://' + req.get('host');
req.body.sauce = JSON.parse(req.body.sauce);
sauce = {
_id: req.params.id,
name: req.body.sauce.name,
manufacturer:req.body.sauce.manufacturer,
mainPepper:req.body.sauce.mainPepper,
description: req.body.sauce.description,
imageUrl: url + '/images/' + req.file.filename,
heat: req.body.sauce.heat,
userId: req.body.sauce.userId
};
} else {
sauce = {
_id: req.params.id,
name: req.body.name,
manufacturer:req.body.manufacturer,
mainPepper:req.body.mainPepper,
description: req.body.description,
imageUrl: req.body.imageUrl,
heat: req.body.heat,
userId: req.body.userId
};
}
Sauce.updateOne({_id: req.params.id}, sauce).then(
() => {
res.status(201).json({
message: 'Sauce updated successfully!'
});
}
).catch(
(error) => {
res.status(400).json({
error: error
});
}
);
};
Больше информации, в моем Репо.
А вот и фронт-репо.
https://github.com/OpenClassrooms-Student-Center/nem-stack-hot-takes