반응형
숙제 시작과 동시에 난관에 부딪혔다.
데이터를 전달받지 못할 경우 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 |
댓글