공공데이터포털에서 제공하는 산 정보를 이용한 토이 프로젝트를 개발 중이었는데 갑자기 산 정보들이 나오지 않더니 아래와 같은 에러가 발생했다.
개발하다 보면 자주 볼 수 있는 TypeError: Cannot read properties of undefined (reading ~) 에러인데 말 그대로 속성값을 읽지 못한다는 것이다. 위 에러에서는 body라는 속성을 가진 배열이나 객체가 undefined 일 것이다. 코드를 살펴보면
axios로 API를 요청하고 응답 받은 데이터를 response 변수에 담은 뒤 response.data.response.body.items.item으로 접근한 데이터를 다시 newMoutains 라는 변수에 담는 코드이다. 근데 여기서 화살표로 표시한 response.body 값을 읽지 못하고 있다. console.log(response.data)를 확인 해보니
response.body 는 커녕 이런 에러 메시지를 담고 있다.<returnAuthMsg>LIMITED_NUMBER_OF_SERVICE_REQUESTS_EXCEEDS_ERROR</returnAuthMsg>
<returnReasonCode>22</returnReasonCode>
API 요청 과정에서 뿌려주는 코드라 생각하고 공공데이터포털 사이트에 접속하여 확인해 보았다.
일일 트래픽이 초과하여 서비스 요청 제한이 걸린 것이었다. 이것저것 테스트한다고 여러 번 요청하다 보니 이렇게 된 거 같다. (이렇게나 많이 했나 싶지만..) 앞으로 에러코드를 보고 상황에 맞게 대처하면 되겠다.