이번 주 코치님께 코드리뷰를 받고 res.send() 코드에 대해 더 알아보는게 좋겠다는 피드백을 받았다. 그래서 내가 쓴 코드를 보니 res.json과 res.send가 혼용되어 있었던 것
그래서 제대로 알아봤다 !
User
res.status(400).json({ message: error.message });
}
});
// GET 요청 처리하는 라우터 - 관리자 조회
router.get('/', async (req, res) => {
const admins = await Admin.find({});
res.json(admins);
});
// Delete 요청 처리하는 라우터 - 관리자 삭제
router.delete("/:_id", async (req, res) => {
const { _id } = req.params;
await Admin.deleteOne({ _id });
res.send("ok");
일단 결론 먼저.
HTML통신과 JSON 통신에는 데이터를 전송하는 방식에 차이가 존재함
⇒ 위 라우터는 웹 애플리케이션을 만드는 상황이므로 JSON 통신 사용해야함
res.json() 은 Express에서 클라이언트에게 JSON 형식의 데이터를 보내는 메서드
→ 객체나 배열 등 JavaScript 객체를 JSON 형식으로 변환하여 클라이언트에게 전송
res.send() 는 Express에서 클라이언트에게 다양한 형식의 데이터를 보내는 메서드
→ 주로 HTML, 텍스트, XML 등 다양한 형식의 데이터를 전송할 때 사용
JSON 데이터를 전송할 때 사용하기도 하지만 res.json() 사용하는 것이 일반적으로 좀 더 적합함