Nodejs Error - Cannot set headers after they are sent to the client 오류문제해결

Blockmonkey·2021년 5월 25일
0
post-thumbnail
post-custom-banner

Cannot set headers after they are sent to the client (클라이언트로 보내진 헤더를 다시 조정할 수 없다는 의미)


원인 : 즉, 응답값 (Nodejs에서는 res.send 혹은 res.json 등을 의미한다)이 중복되어 클라이언트에 전달되어 생겨나는 문제.

내 애플리케이션 사례 : 미들웨어에서 s3버킷에 있는 객체를 삭제하고 -> Post Delete Controller에서 글을 삭제하는 로직을 수행함. 그런데, s3를 삭제하는 미들웨어에서 res.json으로 프론트엔드에 삭제성공 데이터를 보내고, Delete Controller에서 다시 res.json으로 프론트엔드에 삭제성공 메세지를 중복되게 보내는 실수.


해결방안 : 미들웨어에서는 응답값을 삭제하고, 단순히 next()를 통해 다음 컨트롤러로 이동시켜줄 수 있도록 수정함.

0개의 댓글