본문 바로가기

JavaScript

Node.js 입문 1주차, 개인과제

728x90

Node.js 입문 1주차, 개인과제


어제 공부한 내용.

https://pangeei-h.tistory.com/entry/%EB%82%B4%EC%9D%BC%EB%B0%B0%EC%9B%80%EC%BA%A0%ED%94%84-4%EA%B8%B0Node%EC%9E%85%EB%AC%B8-%EA%B0%9C%EC%9D%B8%EA%B3%BC%EC%A0%9C-24%EC%9D%BC%EC%B0%A8-TIL

 

내일배움캠프 4기_Node입문 개인과제 24일차 TIL

내일배움캠프 4기_Node입문 개인과제 24일차 TIL 개인과제 전체 게시글 목록 조회 API 제목, 작성자명, 작성 날짜를 조회하기 작성 날짜 기준으로 내림차순 정렬하기 게시글 작성 API 제목, 작성자명,

pangeei-h.tistory.com

 

사실 다른 분 코드 안봤으면 아예 못했을 것 같다.ㅠ

프로젝트 하면서 같은 조원이었던 분들 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 이용하니 편하다.

Collections


깃 repo : https://github.com/godee95/node_REST_API.git

 

GitHub - godee95/node_REST_API: 내일배움캠프 4기 NODE 입문 과제

내일배움캠프 4기 NODE 입문 과제. Contribute to godee95/node_REST_API development by creating an account on GitHub.

github.com

 

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