Node.JS

내일배움캠프 Node.js 입문주차 과제

5kiran 2022. 12. 15.
반응형

 

숙제 시작과 동시에 난관에 부딪혔다.
데이터를 전달받지 못할 경우 Response를 저렇게 보내줘야 하는데
데이터를 전달받지 못하면 바로 서버가 꺼지면서 오류가 발생했다 .
처음엔 조건문으로 req.body로 데이터를 받아오지 못하면 바로 res.status(400).json({})으로 넘겨버리려고 했지만
내가 생각했던 것처럼 되지 않았다.
한참을 고민하다 생각해낸 try catch!!

그렇게 성공적으로 첫 게시글 작성 API를 완성했다!!

router.post("/", async (req,res) => {
  try {
    const {user, password, title, content} = req.body;
    await Posts.create({user, password, title, content});
    res.json({"message": "게시글을 생성하였습니다."});
  }
  catch (err) {
     res.status(400).json({"message": "데이터 형식이 잘못되었습니다."});
  };
})

 

이번엔 GET Method를 통해 데이터를 출력할 때 필요없는 필드인 __v 필드가 함께 출력되는 이슈가 생겼다.

이에 대한 문제의 해결로 

router.get("/", async (req,res) => {
  const posts = await Posts.find({},{'__v':false});
  res.json({posts})
})

위와 같이 __v 필드를 false로 제외하고 출력해서 해결했습니다.

 

완성된 GIT HUB

https://github.com/5kiran/week1_node_homework

 

GitHub - 5kiran/week1_node_homework: 내일배움캠프 Node.js 입문 1주차 과제

내일배움캠프 Node.js 입문 1주차 과제. Contribute to 5kiran/week1_node_homework development by creating an account on GitHub.

github.com

 

 

반응형

'Node.JS' 카테고리의 다른 글

Swagger 편하게 사용하기  (0) 2022.12.23
Swagger UI 초기설정  (0) 2022.12.23
Node.js Sequelize 사용법  (0) 2022.12.20
Mongoose Function save() vs create()  (0) 2022.12.19
Node.js Express req 그리고 res  (0) 2022.12.13

댓글