在我的MERN应用中,用户可以对照片发表评论。注释是我的照片猫鼬模型中的子文档。我想创建一个axios API,该API会删除给定commentId和photoId的注释。
在邮递员中删除评论就可以了。我的axios.post调用也是如此以创建评论。
我怀疑问题出在我的axios.delete呼叫上。请求打到我的catch语句,说找不到该照片,但是当我尝试使用Postman时,该注释可以删除具有相同数据的文件。在ChromeDev工具中,出现404未找到错误。
Specific error from catch statement
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: "..."}
};