항해99 4기 Day 47 TIL

POINT·2021년 12월 17일
0

항해99

목록 보기
20/34

21.12.17 항해99 4기 47일차

발생한 문제와 해결 방법

  • 댓글 작성을 하면 토큰에 댓글의 첫글자가 같이 req.headers에 포함되어 인증미들웨어로 들어가서 사용자 인증이 안되는 문제
    먼저 프론트에서 댓글을 보내기전에 console.log로 찍어보니 정상적이었다. 그래서 댓글 내용을 받는 api에서 값이 정상적으로 넘어오는지 확인을 했는데 값이 넘어오질 않아서 서버 터미널에 pm2 log로 error log를 봤더니 아래와 같았다.

    SyntaxError: Unexpected token 댓 in JSON at position 0

    로그를 보니 댓글의 첫번째 글자가 토큰에 포함되어 들어와 생긴 문제였다. 토큰으로 사용자 인증을 받는 미들웨어에서 생긴 문제라 판단하여 미들웨어에서 console.log를 찍어봤는데 토큰값은 정상적으로 들어왔다.(Bearer+token값)
    도대체 뭐가문제일까 하다가 구글에 위에 오류내용을 검색해봤더니 백에서는 req.headers를 Json형식으로 받는데, 프론트에서 토큰만 Json형식으로 보내고 댓글 값을 보낼 때는 Json형식으로 보내지 않아 생긴 문제였다.
    기존에는 댓글내용을
    const content
    이렇게 content에 담아 보내줬었는데,
    const contents = { content:content }
    이렇게 Json형식으로 바꾸어 contents를 올려주니까 토큰과 구분되어 정상적으로 api에 들어왔다.
    양쪽 다 데이터출력이 정상이니까 문제가 없는 것처럼 보여서 오류를 해결하는데 한참 걸렸다.

profile
기록은 기억을 지배한다.

0개의 댓글