status(204)는 컨텐트로 아무것도 보내지 못한다.
exports.deleteNotice = async (req, res) => {
try {
console.log(req.query.notice_id);
if (req.query.notice_id) {
const result = await Notice.deleteOne({ _id: req.query.notice_id });
console.log(result);
console.log(typeof result.deletedCount);
// 공지사항이 존재하는 경우
// { acknowledged: true, deletedCount: 1 }
// 공지사항이 존재하지 않는 경우
//{ acknowledged: true, deletedCount: 0 }
if (result.deletedCount === 1) {
res.status(200).send({ message: '공지사항이 성공적으로 삭제되었습니다!' });
} else {
res.status(400).send({ message: '존재하지 않는 공지사항입니다.' });
}
} else {
res.status(400).send({ message: '공지사항 ID가 필요합니다.' });
}
} catch (err) {
console.log(err);
res.status(500).json('SERVER ERROR');
}
};
여기에서 삭제에 성공했을 때 fix 전의 코드는
res.status(204).send({ message: '공지사항이 성공적으로 삭제되었습니다!' });
였다. 그런데 status(204)는 no content로 body에 아무것도 실어서 보내지 못하기 때문에 message가 전달되지 않는 문제가 발생했었다.
그래서 status(200)으로 바꾸어줌!