개발가이드

REST (Representational State Transfer)

REST는 월드 와이드 웹과 같은 분산 하이퍼미디어 시스템을 위한 소프트웨어 아키텍처의 한 형식으로, 로이 필딩(Roy Fielding)의 2000년 박사학위 논문에서 소개되었다.

발표 당시는 대규모의 네트워크 시스템을 위한 방법이라는 뜻이었지만 최근 이용되고 있는 REST는 HTTP와 JSON을 이용하여 데이터를 주고 받는 웹 서비스를 이용하는 것으로 쓰이고 있다.

그림에서 URL요청 http://apis.data.go.kr/ID/1234 URL을 통해서 데이터를 요청하고 있으며 그 결과는 JSON 형태로 반환된다.
각각의 요청과 반환되는 JSON 형식은 아래와 같은 구조로 이루어진다.

  • Get 요청

    http://apis.data.go.kr/ID/1234

  • Return 데이터

    {"response" : {"header":{"resultCode":"00","resultMsg":"NORMAL_CODE"}, "body" : {"totalCount":4802, "items" : [{"statDate":"2023-03-22", "week" : 수요일", "roadName" : "공항로", "linkID" : "1610000302", "direction" : "상행", "startName" : "운서동2848", "endName" : "운서동2848", "linkLength" : "1195", "roadType" : "일반도로", "hour00" : "84", "hour01" : "85", "hour02" : "87", "hour03" : "83", "hour04" : "88", "hour05" : "88", "hour06" : "87", "hour07" : "88", "hour08" : "85", "hour09" : "83", "hour10" : "82", "hour11" : "83", "hour12" : "88", "hour13" : "85", "hour14" : "80", "hour15" : "76", "hour16" : "82", "hour17" : "85", "hour18" : "83", "hour19" : "85", "hour20" : "82", "hour21" : "81", "hour22" : "87", "hour23" : "89"}], "pageNo" : 1, "numOfRows" : 10}}}