API

Judo·2020년 11월 21일
0

Application Programming Interface
클라이언트가 리소르를 잘 활용할 수 있도록 서버가 제공하는 인터페이스
보통 인터넷에 있는 데이터를 요청할 때에는 HTTP라는 프로토콜을 사용하며, 주소(URL,URI)을 통해 접근할 수 있다.

Open API 사용


  • 공공데이터포털
    위 링크에서 원하는 키워드를 검색하면 관련된 API를 이용할 수 있다.
    Open API는 누구나 이용할 수 있지만, 이용 수칙에 따른 제한이 있다.
    회원가입 - API 키 발급 - 데이터 요청 ---> 을 통해 JSON 형태로 응답을 받을 수 있다.

API 키


API를 이용하기 위해 필요한 열쇠로 생각하면 된다.
데이터 포털에서 회원가입을 하면 자원에 접근할 수 있는 권한을 API Key 형태로 제공해주고, 이를 요청에 같이 전달할 때 자원을 이용할 수 있다.

fetch를 이용해 서버 요청하기

  • 일반적으로 서버에게 HTTP(URL) 요청 후, 응답을 처리
  • 응답은 JSON,HTML,Plain text 등 다양한 형태로 받을 수 있다.

fetch()

fetch를 이용하면 리소스를 비동기로 요청할 수 있다.
fetch를 호출하면 브라우저는 요청을 보내고 Promise 객체를 반환한다. 요청이 완료되면 성공여부에 관계없이 Promise가 resolved 되어 Response 객체를 반환한다. HTTP 요청이 완료되지 못한 상태라면 Promise가 rejected 된다. 이 경우엔 catch()를 이용하여 에러를 처리할 수 있다.
Response 객체는 응답에 대한 정보를 담고있다.

 fetch(`https://api.openweathermap.org/data/2.5/weather?q=${inputCity}&lang=kr&appid=6ba138ee811dda538908b3fe6e3bae00`)
      .then(function (resp) {
   		//Response를 JSON형태로 파싱 	
        return resp.json()
      })
      .then(function (json) {
   		//JSON형태로 파싱된 결과가 객체화되어 매개변수 json으로 들어온다. 
   		//json을 활용할 수 있다.
        renderWeatherData(json);
      }).catch(function () {
   		//요청이 완료되지 못한 경우 catch()가 실행된다.
        alert('지역 이름을 정확히 입력해주세요');
        inputSearch.value = '';
        renderWeatherData();
        return;
      });
profile
즐거운 코딩

0개의 댓글