728x90
Node.js 입문 1주차, 개인과제
어제 공부한 내용.
사실 다른 분 코드 안봤으면 아예 못했을 것 같다.ㅠ
프로젝트 하면서 같은 조원이었던 분들 git에 다 방문~
보고도 이해 안되면 물어보려고 했는데, 강의를 들어서 그런가, 코드보니 이해되긴 했다!
이제 이걸 내껄로 만들어야 한다.
화살표함수 쓰는 법도 익숙해져야 할듯하다.
오늘은 예외처리 더 고민해보고 최종 제출하는게 목표!
Check empty object
const obj = {};
const arr = [];
function isEmpty(param) {
return Object.keys(param).length === 0;
}
console.log(isEmpty(obj)); // true
console.log(isEmpty(arr)); // true
delete 메소드로 req.body아무것도 없는 json형태 server로 보내니
console.log(req.body)
//{}
객체 (object) 출력!
이 경태가 object 리터럴이구나!
그래서 강의에서 설명해주셨던 거구나 싶다.
확실히 직접 구현해보면 개념이 확고해진다.
댓글 삭제 예외처리
// 댓글 삭제
router.delete('/comments/:_commentId', async(req,res) => {
if(Object.keys(req.body).length === 0) {
res.status(400).json({
message: "데이터 형식이 올바르지 않습니다."
})
return;
}
const { _commentId } = req.params;
const { password } = req.body;
try{
const existsComment = await Comment.find({_id:_commentId});
console.log(existsComment.length);
if(existsComment.length && existsComment[0].password === password){
console.log(_commentId);
await Comment.deleteOne({_id:_commentId});
}
res.status(200).json({
message: "댓글을 삭제하였습니다."
})
} catch(err) {
res.status(404).json({
message: "댓글 조회에 실패하였습니다."
})
return;
}
commentId가 comment 테이블에 존재하고 비밀번호가 일치할 때만 삭제되도록 하고
그렇지 않을 경우에는 예외처리로 빠져 "댓글 조회에 실패하였다"는 에러 메세지를 띄우도록 했다.
req.params는 예외처리할 때 사용하지 않은게, 애초에 param이 없으면 delete메소드에 들어오질 못한다...
Collections 이용하니 편하다.
깃 repo : https://github.com/godee95/node_REST_API.git
readme 쓰는 거 해봐야겠다!
'JavaScript' 카테고리의 다른 글
Node.js 숙련 1주차_2 (0) | 2022.12.19 |
---|---|
Node.js 숙련 1주차_1 (0) | 2022.12.19 |
Node.js 입문 주차 1주차_5 (0) | 2022.12.14 |
Node.js 입문 주차 1주차_4 (0) | 2022.12.14 |
Node.js 입문 주차 1주차_3 (0) | 2022.12.13 |