미니프로젝트
기상청의 오픈 api를 활용하여 우리동네의 기온을 나태내주는 코드를 만들었다.
`https://apis.data.go.kr/1360000/VilageFcstInfoService_2.0/getUltraSrtNcst?
serviceKey=${APIKEY} api key
&pageNo=1&numOfRows=1000 한페이지에 1000개의 자료를 받음
&dataType=JSON 데이터의 타입은 JSON
&base_date=${today} 날짜
&base_time=${time} 시간
&nx=91 x좌표
&ny=76 y좌표`
기상청에서 제공해주는 참고자료를 통해 들어가는 값들을 정리하였고 today와 time에 다음과 같이 함수를 사용하여 값을 주었다.
let today = new Date();
let year = today.getUTCFullYear();
let month = today.getUTCMonth() + 1;);
let day = today.getUTCDate();
let time = today.getHours();
today = `${year}${month}${day}`;
하지만 2가지 문제가 있었다.
api에서 요구하는 날짜는 8자리, 시간은 4자리 였고 이를 해결하기 위해 한자릿수의 달,일,시간에 앞에 0을 붙여 2자리로 만들기 위해 .padStart(2,'0')을 사용하니 해결되었다.
다음은 기준 시간이 문제였다.
api는 정시에 정시 데이터를 주는게 아니라 40분 이후에 데이터를 전송해주기 때문에 time값에 -1을 주었다.
let today = new Date();
let month = String(today.getUTCMonth() + 1).padStart(2, '0');
let day = String(today.getUTCDate()).padStart(2, '0');
let year = today.getUTCFullYear();
let time = String(today.getHours() - 1).padStart(2, '0');
today = `${year}${month}${day}`;
텍스트코드를 수정하여 출력한 결과값