Метод axios DELETE выдает ошибку 404 Not Found - PullRequest
0 голосов
/ 29 сентября 2019

В моем приложении MERN пользователи могут комментировать фотографии.Комментарии - это поддокументы в моей фото-модели Mongoose.Я хочу создать Axios API, который удаляет комментарий с учетом commentId и photoId.

Удаление комментария прекрасно работает в Postman.Так же как и мой axios.post для создания комментария.

Я подозреваю, что проблема связана с моим вызовом axios.delete.Запрос соответствует моему заявлению о том, что фотография не найдена, но комментарий удаляется с теми же данными, что и я, когда я пытаюсь почтальона.В инструментах ChromeDev я получаю ошибку 404. Не найдено.

404 Ошибка

Конкретная ошибка из оператора catch

server/routes/api/photos.js

// DELETE COMMENT (protected)

router.delete(
  "/comment/delete",
  passport.authenticate("jwt", { session: false }),
  (req, res) => {
    let { commentId, photoId } = req.body;
    Photo.findOne({ _id: photoId })
      .then(photo => {
        photo.comments.pull({ _id: commentId });
        photo.save();
        res.json(photo.comments);
      })
      .catch(err => res.status(404).json({ nophotofound: "No photo found" }));
  }
);
frontend/src/util/photo_api_util.js

import axios from "axios";

export const deletePhotoComment = data => {
  return axios.delete("/api/photos/comment/delete", data);

// ex: data = {photoId: "...", commentId: "..."}
};
...