한량처럼 살고 싶다

[React-Native]axios 415 code error 발생 본문

프론트엔드/React-Native

[React-Native]axios 415 code error 발생

투영 2023. 2. 14. 19:32

https://developer.mozilla.org/ko/docs/Web/HTTP/Status/415

 

415 Unsupported Media Type - HTTP | MDN

HTTP '415 지원되지 않는 미디어 유형' 클라이언트 오류 응답 코드는 클라이언트가 보낸 페이로드가 지원하지 않는 형식이기 때문에 서버가 요청을 수락하지 않음을 나타냅니다.

developer.mozilla.org

이 글을 읽어보면 415 코드는 '서버가 요청한 content-type 이 아닌 데이터가 왔을 때'를 의미한다.

 

나의 경우 json 타입의 데이터를 보냈는데, 왜 오류가 생기는지 알 수가 없었다.

심지어 JSON.stringify() 를 사용하여서 정확하게 JSON으로 변환했는데도 생긴 오류였다.

백엔드 서버에서도 분명 JSON으로 받겠다고 코딩을 해줬는데... 왜지? 싶어서 좀 찾아보았다.

 

원래 코드

data에 JSON으로 변환한 데이터가 들어가 있다.

const response = await axios.post(SERVER_URL + "/member/signin", data);

 

수정한 코드

const response = await axios.post(SERVER_URL + "/member/signin", data, {
        headers: {
          "Content-Type": `application/json`,
        },
});

알고보니 headers에 Content-Type을 적어줘야했다.

잘 알고 사용하자!