| Update & Delete
UPDATE 고양이 데이터 업데이트 -> PUT(Body)
router.put("/cats/:id", (req, res) => {
try {
const params = req.params;
const body = req.body;
let result;
console.log(params);
console.log(body);
Cat.forEach((cat) => {
if (cat.id === params.id) {
cat = body;
result = cat;
}
});
res.status(200).send({
success: true,
data: {
cat: result,
},
});
} catch (error) {
res.status(400).send({
success: false,
error: error.message,
});
}
});
UPDATE 고야잉 데이터 부분적으로 업데이트 -> PATCH
router.patch("/cats/:id", (req, res) => {
try {
const params = req.params;
const body = req.body;
let result;
console.log(params);
console.log(body);
Cat.forEach((cat) => {
if (cat.id === params.id) {
cat = { ...cat, ...body }; //cat에 body를 덮어씌움 (구조분해할당)
result = cat;
}
});
res.status(200).send({
success: true,
data: {
cat: result,
},
});
} catch (error) {
res.status(400).send({
success: false,
error: error.message,
});
}
});
DELETE 고양이 데이터 삭제 -> DELETE
router.delete("/cats/:id", (req, res) => {
try {
const params = req.params;
const newCat = Cat.filter((cat)=>cat.id !== params.id);
// filter는 조건에 일치하는 것들만 모아서 새로운 배열을 만듬
res.status(200).send({
success: true,
data: newCat,
});
} catch (error) {
res.status(400).send({
success: false,
error: error.message,
});
}
});
반응형
'웹 개발 > 🟩 Node.js' 카테고리의 다른 글
NestJS | 개발환경 셋팅 (0) | 2024.02.13 |
---|---|
Express | 싱글톤 패턴, 서비스 패턴 (0) | 2023.06.22 |
Express | route분리, 모듈화 (0) | 2023.06.18 |
Express | Create Read API 개발 (0) | 2023.06.18 |
Express | express에서 미들웨어설정하기 (0) | 2023.06.13 |