Почему мой метод REQ.body.imageURL не определен в методе PUT? - PullRequest
0 голосов
/ 18 марта 2019

Я пытаюсь написать бэк-энд для приложения для гурманов. У меня проблема в методе 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...