[Node.js/Axios] GET response headers 'transfer-encoding': 'chunked' 해결

sunyoung·2023년 1월 11일
0
post-thumbnail

🚨 문제 발생

로컬에서 axios GET 요청의 reponse를 받아올 때 json으로 잘 받아와서 배포를 했더니
갑자기 데이터가 아래와 같이 깨져서 나오는 것이다.

Ý\x1B�+���G�I\x14��"I�\x12\x17�JD�V֭������'3�pɷ


👷🏻 해결과정

1. 타입 확인

typeof로 타입을 찍어보니 string 타입이었다
그래서 JSON.parse()와 JSON.stringify()로 감싸보았는데
오류만 발생할 뿐 문제는 해결되지 않았다 (당연함)

2. response.headers 확인

응답헤더가 다를 것 같아서 response.heaers를 찍어보니
로컬과는 다르게

'transfer-encoding': 'chunked'

가 추가되어 있는 것이다.

없애보려고 transfer-encoding 값을 빈값으로도 넣어보고 했으나 해결되지 않았고
구글링 해서 겨우 해결..! 😮‍💨

해결방법은 다음과 같다.


✅ 해결방법

응답헤더에 'Accept-Encoding': '*'를 추가해주면 된다.

const instance = axios.create({
  baseURL: process.env.BASE_URL,
  headers: {
    'Accept-Encoding': '*', // 이부분 추가
  },
});

axios 12.x 버전 버그라고 하는데... 후 어쨌든 해결해서 다행이다.

참고링크 - stackoverflow

profile
💻✨

0개의 댓글