Controller와 Model 간 에러처리 하기

mj·2024년 11월 20일
0

kbt

목록 보기
6/18

postsController.js

// GET 게시물 상세
export const getPostController = async(req, res) => {
    const postId = parseInt(req.params.postId);

    try{
        const postData = await getPostById(postId);
        res.json({
            message: "게시물 상세 조회 성공",
            data: postData
        });

    }catch(error){
        console.log(error); // getPostById의 throw() 인자 리턴됨
        res.status(404).json({message: error.message});
    } 
};

postModel.js

export const getPostById = async(postId) => {
    try{
        const postsData = await getAllPosts();
        const postData = postsData.find((post) => post.postId === postId);

        if(!postData){throw new Error("해당 ID의 게시물이 존재하지 않습니다.");}

        return postData;

    }catch(error){
        throw {message: "게시물 상세 조회 실패", error: error};
    }

}

에러 띄워보기

존재하지 않는 postId로 GET요청을 보내 오류를 발생시켜 보았다.

  • 클라이언트에게 응답으로 보내는 데이터

profile
일단 할 수 있는걸 하자.

0개의 댓글