Insomnia를 활용한 API 테스트
1주차 프로젝트시 문제였던게, API를 다 만들었는데 템플릿이 나오지 않아 테스트를 진행할 수 없어 시간 낭비가 있었다. 멘토님의 소개로 Insomnia라는 프로그램을 사용해봤는데, 자체적으로 API 호출을 할 수 있어 템플릿 없이도 백엔드 테스트가 가능했다.
실제로 타겟이 되어야 하는 식별자는 하드코딩으로 넣었다
export const deleteComment = async (req, res) => {
//const { id } = req.params;
const id = mongoose.Types.ObjectId("6144ad9b9ac3512c7cca608b");
console.log(id);
try {
await Post.findByIdAndRemove(id);
return res
.status(200)
.send({ result: "DELETE success", msg: "삭제 완료되었습니다." });
} catch {
return res
.status(400)
.send({ result: "DELETE failure", msg: "삭제 실패했습니다." });
}
};
대충 이런 식으로 CRUD 기능 확인 완료.
실제 템플릿 사용시 id는 url parameter로 받을 것이기에 미리 작성 후 주석 처리 해놓았다.
템플릿 붙인 후 API 테스트
템플릿 만드는게 너무 싫어서 대충 작업했다.... 악마도 울고 갈 템플릿이 나왔다.
템플릿을 붙이고 나니, 고려해야할 것들이 갑자기 막 쏟아졌다. 예외처리, 작업 성공 후 할 행동 등...
각 API 별 response의 status를 좋은거는 200, 나쁜건 400으로 작성해놓았다. 이걸 작성하면서도 나중에 다시 다 고쳐야겠다는 생각이 든다;;
이건 status 관련 참고 자료
HTTP response status codes