개발아 담하자

[Node.js] request 라이브러리를 사용해 API 연결하기 본문

🛠 web

[Node.js] request 라이브러리를 사용해 API 연결하기

choidam 2020. 8. 4. 22:55

선수환경 :  한국 환경 공단 대기 오염 정보 API 에서 API KEY 발급 받기

 

공공데이터 포털

국가에서 보유하고 있는 다양한 데이터를『공공데이터의 제공 및 이용 활성화에 관한 법률(제11956호)』에 따라 개방하여 국민들이 보다 쉽고 용이하게 공유•활용할 수 있도록 공공데이터(Datase

www.data.go.kr


 

Install

$ npm install request

request library 를 설치해준다.

 

 

check API work

postman 확인

신청한 APIKEY 를 넣어 postman 에 돌려본다. 제대로 작동함을 확인할 수 있다

 

 

Connect to API

var request = require('request')

router 상단에 request 라이브러리르 불러와준다.

 

const key = '[발급받은 APIKEY]'

const addr = 'http://openapi.airkorea.or.kr/openapi/services/rest/ArpltnInforInqireSvc/getMsrstnAcctoRltmMesureDnsty?stationName='
const addr2 = '&dataTerm=month&pageNo=1&numOfRows=10&ServiceKey=' 
const addr3 = '&ver=1.3&_returnType=json'

var myaddr = addr + encodeURI('서대문구') + addr2 + key + addr3

요청 문구에 한글이 들어가 있으면 에러가 발생한다. encodeURI() 를 사용해 한글을 encode 해준다.

 

router.get('/misae', function(req, res, next){
  request(myaddr, function(error, response, body){
    if(error){
      console.log(error)
    }
    var obj = JSON.parse(body)
    console.log(obj) // 콘솔창에 찍어보기
  })
})

console 창 확인

api 로 호출한 data 가 무사히 json 으로 parsing 되었다.

 

    data = obj.list[0].dataTime
    pm10 = obj.list[0].pm10Value

    res.render('apicall/misae', {title: 'misae', data:data, pm10:pm10})

view 에 렌더링 해보기

view 에 제대로 찍힌다. API 연결 성공 ❗️

'🛠 web' 카테고리의 다른 글

[Node.js] GoogleMap 연동하기 (내 위치 기반)  (0) 2020.08.04
[Node.js] MySQL과 연동하기  (0) 2020.07.02
[Node.js] express 첫 설치/실행하기  (0) 2020.07.02