[HTML] OpenAPI 다루기 - function, fetch
2024. 8. 29. 15:32ㆍLanguage/HTML
'fetch' 는 엄밀히 말해 'Javascript' 의 메서드이지만 HTML 문서에서 외부의 리소스를 가져올 때 사용하게 되므로 일단은 'HTML' 카테고리에 정리해 보았다.
1. function
<script>
function openApi() {
// 함수 실행 코드
}
</script>
'함수' 를 정의할 때 사용되는 키워드
Javascript 에서 함수를 정의할 때는 'function' 키워드와 함수명, 소괄호가 필요하다!
- Java 의 경우 '접근제어 반환타입 함수명(파라미터) { 함수 수행 코드};' 라면 Javascript 에서는 'function 함수명(파라미터) { 함수 수행 코드 };' 인 것이다.
- 'function 의 실행 코드는 누군가(?) 해당 함수를 호출하면 수행된다.
- Javascript 의 기능이므로 HTML 문서내 <script> 영역에 작성해야 생성한 함수가 제대로 작동한다.
2. fetch( )
<script>
function openApi() {
let url = 'http://spartacodingclub.shop/sparta_api/seoulair'; // 서울 미세먼지농도 OpenAPI
fetch(url).then(res => res.json()).then(data => {
let mise = data['RealtimeCityAir']['row'][0]['IDEX_NM'];
console.log(mise);
})
}
</script>
서버에서 리소스를 가져오는 프로세스를 수행
HTML 문서 외부의 리소스(=자원, 데이터)를 가져올 때 사용한다!
- 예시를 보면 알겠지만 '서울시 미세먼지 농도' 에 대한 데이터를 다루는 OpenAPI 를 사용하였다. 외부의 데이터를 가져와 해당 데이터를 가공한 결과 데이터를 만든 것이다.
- Javascript 메서드이므로 HTML 문서의 <script> 영역 안에 작성해야 한다.
- 'fetch()' 의 '()' 안에는 'URL' 정보를 입력하여 외부 리소스와 HTML 문서를 연결(웹 통신 요청)한다.
- '.then(res => res.json())' 에서는 데이터를 'res' 라고 지칭할 것을 지정, 해당 이름으로 '.json' 화 한다.
- '.then(data => { })' 에서는 위에서 'json' 화한 데이터에 'data' 이란 이름을 붙여 '{ }' 안에서 해당 데이터를 다룬다.
- 'console.log()' 의 경우 웹 브라우저의 개발자 모드(=F12)의 콘솔에서 확인할 수 있는 로그를 출력해 준다.
- 내가 예시로 사용한 데이터는 한 데이터에 여러 데이터가 들어있는 구조이기에 Java 의 배열을 다루는 것처럼 '[ ]' 안에 데이터 항목이나 인덱스 값을 넣어 특정 데이터를 찾을 수 있게 작성했다. 예시는 가장 첫 번째 데이터의 미세먼지 농도를 가져와 콘솔에 출력한 것이다.
3. 정리
걱정한 것과 다르게 상당히 쉽게 OpenAPI 소스를 HTML 문서에 가져와 사용할 수 있었다. 물론 필요한 소스를 제대로 다루려면 해당 소스에 대한 이해가 더 필요하고 그에 따라 데이터를 가공하는 Javascript 메서드에 대해서도 더 알아야 할 필요가 있지만 이번은 HTML 문서에서 어떻게 외부의 리소스를 가져오고 다루게 되는지 알아보기 위함이므로 이후에 추가적으로 다루게 될 일이 있다면 학습을 통해 정리하겠다.
참고 문서
'Language > HTML' 카테고리의 다른 글
[HTML] CSS 적용 우선순위 - CSS Specificity (0) | 2024.08.30 |
---|---|
[HTML] 꾸미기 - <style>, CSS (0) | 2024.08.27 |
[HTML] HTML5 태그 - <h1>, <p>, <span>, <button>, <div> (0) | 2024.08.27 |
[HTML] HTML5 - 기본 구성 (0) | 2024.08.27 |