반응형

 

개요

 

개발을 진행하다 보면 다양한 api를 호출하고 그 결과를 비즈니스 로직에 맞춰 만드는 경우가 있습니다.

그럴 때 사용할 수 있도록 이번엔 open api를 간단하게 호출하는 방법에 대해서 알아보도록 하겠습니다.

 

 


 

Postman이란?

 

 

open api를 호출하기에 앞서 Postman이 무엇인지 알아보고 진행하도록 하겠습니다.

Postman이란? 간단히 말해 API 개발을 빠르고 쉽게 구현할 수 있도록 도와주며, 개발된 API를 테스트하여 문서화하거나 공유할 수 있도록 도와주는 플랫폼입니다.

 

Postman을 사용하는 이유?

실제로 URL을 통해 테스트를 하는경우 한계가 있습니다.

개발 경우, 응답 요청과 응답을 받아 화면에 출력하는 등의 작업이 길어질 수 있으며, Authorization이나 Header, Body를 수정하는 건 더더욱 제한이 많이 있습니다.

하지만 Postman은 해당 작업을 할 수 있도록 인터페이스를 구축해둔 툴이기 때문에 쉽게 사용을 할 수 있으며, OS에 상관없이 사용이 가능합니다. 또한 계정을 보유하고 있다면, 예전에 작성한 Request 히스토리, 테스트한 환경 그대로 저장되어 언제 어디서나 내가 작업했던 환경이 구축됩니다.

 


 

Postman 사용

 

https://www.postman.com/

 

Postman API Platform | Sign Up for Free

Postman is an API platform for building and using APIs. Postman simplifies each step of the API lifecycle and streamlines collaboration so you can create better APIs—faster.

www.postman.com

접속하여 회원가입하고 Send request를 클릭하면 됩니다.

 

 


 

공공데이터 Open API 사용

 

https://www.data.go.kr/index.do

 

공공데이터 포털

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

www.data.go.kr

 

여기에 접속해서 원하는 API를 사용하시면 됩니다.

저는

 

이 Open API를 활용해 호출해 보도록 하겠습니다.

 

활용신청이 완료되면 아래와 같이 나오는 모습을 확인할 수 있습니다.

 

대개 공공데이터 Open API 의 경우 인증키를 설정해야만 제대로 호출이 되는 경우가 있습니다. 

따라서 인증키를 따로 설정을 해주어야 합니다.

 

설명은 해당 API마다 아래와 같이 잘 나와있으므로, 각각 보시고 인증키를 설정해 주시면 됩니다.

 

그렇게 되면 URL 이 나오게 되는데 이때 이 URL을 Postman에 넣어주시게 되면 다음과 같이 나오게 됩니다.

 

그리고 데이터를 전송하면 

{
    "currentCount": 10,
    "data": [
        {
            "address": "서울특별시 중구 을지로 39길 29",
            "centerName": "코로나19 중앙 예방접종센터",
            "centerType": "중앙/권역",
            "createdAt": "2021-03-03 07:00:52",
            "facilityName": "국립중앙의료원 D동",
            "id": 1,
            "lat": "37.567817",
            "lng": "127.004501",
            "org": "국립중앙의료원",
            "phoneNumber": "02-2260-7114",
            "sido": "서울특별시",
            "sigungu": "중구",
            "updatedAt": "2021-07-16 04:55:08",
            "zipCode": "04562"
        },
        {
            "address": "충청남도 천안시 동남구 천안대로 357",
            "centerName": "코로나19 중부권역 예방접종센터",
            "centerType": "중앙/권역",
            "createdAt": "2021-03-03 07:00:52",
            "facilityName": "천안시 실내배드민턴장 1층",
            "id": 2,
            "lat": "36.779887",
            "lng": "127.164717",
            "org": "순천향대 천안병원",
            "phoneNumber": "",
            "sido": "충청남도",
            "sigungu": "천안시 동남구",
            "updatedAt": "2021-07-16 04:55:08",
            "zipCode": "31212"
        },
        {
            "address": "광주광역시 동구 필문대로 365",
            "centerName": "코로나19 호남권역 예방접종센터",
            "centerType": "중앙/권역",
            "createdAt": "2021-03-03 07:00:52",
            "facilityName": "조선대학교병원 의성관 5층",
            "id": 3,
            "lat": "35.139465",
            "lng": "126.925563",
            "org": "조선대병원",
            "phoneNumber": "062-220-3739",
            "sido": "광주광역시",
            "sigungu": "동구",
            "updatedAt": "2021-07-16 04:55:08",
            "zipCode": "61452"
        },
        {
            "address": "경상남도 양산시 물금읍 금오로 20",
            "centerName": "코로나19 영남권역 예방접종센터",
            "centerType": "중앙/권역",
            "createdAt": "2021-03-03 07:00:53",
            "facilityName": "양산 부산대병원 기숙사동 1층",
            "id": 4,
            "lat": "35.3239",
            "lng": "129.009337",
            "org": "양산 부산대병원",
            "phoneNumber": "055-360-6701",
            "sido": "경상남도",
            "sigungu": "양산시",
            "updatedAt": "2021-07-16 04:55:08",
            "zipCode": "50612"
        },
        {
            "address": "대구시 중구 달성로 56",
            "centerName": "코로나19 대구광역시 중구 예방접종센터",
            "centerType": "지역",
            "createdAt": "2021-03-03 07:00:53",
            "facilityName": "계명대학교 대구동산병원 별관",
            "id": 5,
            "lat": "35.869985",
            "lng": "128.583716",
            "org": "",
            "phoneNumber": "053-661-3955",
            "sido": "대구광역시",
            "sigungu": "중구",
            "updatedAt": "2021-07-16 04:55:09",
            "zipCode": "41931"
        },
        {
            "address": "서울특별시 성동구 고산자로 270",
            "centerName": "코로나19 서울특별시 성동구 예방접종센터",
            "centerType": "지역",
            "createdAt": "2021-03-15 00:03:43",
            "facilityName": "성동구청 대강당(3층)",
            "id": 6,
            "lat": "37.563457",
            "lng": "127.036981",
            "org": "",
            "phoneNumber": "02-2286-5084",
            "sido": "서울특별시",
            "sigungu": "성동구",
            "updatedAt": "2021-07-16 04:55:09",
            "zipCode": "04750"
        },
        {
            "address": "부산 부산진구 시민공원로 73",
            "centerName": "코로나19 부산광역시 부산진구 예방접종센터",
            "centerType": "지역",
            "createdAt": "2021-03-15 00:03:43",
            "facilityName": "부산시민공원 시민사랑채",
            "id": 7,
            "lat": "35.170182",
            "lng": "129.059301",
            "org": "",
            "phoneNumber": "051-605-8633",
            "sido": "부산광역시",
            "sigungu": "부산진구",
            "updatedAt": "2021-07-16 04:55:09",
            "zipCode": "47197"
        },
        {
            "address": "인천광역시 연수구 경원대로 526",
            "centerName": "코로나19 인천광역시 연수구 예방접종센터",
            "centerType": "지역",
            "createdAt": "2021-03-15 00:03:43",
            "facilityName": "선학경기장 선학체육관",
            "id": 8,
            "lat": "37.429571",
            "lng": "126.703271",
            "org": "",
            "phoneNumber": "032-749-8121",
            "sido": "인천광역시",
            "sigungu": "연수구",
            "updatedAt": "2021-07-16 04:55:10",
            "zipCode": "21908"
        },
        {
            "address": "광주광역시 서구 금화로 278",
            "centerName": "코로나19 광주광역시 서구 예방접종센터",
            "centerType": "지역",
            "createdAt": "2021-03-15 00:03:43",
            "facilityName": "빛고을체육관",
            "id": 9,
            "lat": "35.135361",
            "lng": "126.8771731",
            "org": "",
            "phoneNumber": "062-371-8731",
            "sido": "광주광역시",
            "sigungu": "서구",
            "updatedAt": "2021-07-16 04:55:10",
            "zipCode": "62048"
        },
        {
            "address": "대전광역시 유성구 유성대로 978",
            "centerName": "코로나19 대전광역시 유성구 예방접종센터",
            "centerType": "지역",
            "createdAt": "2021-03-15 00:03:44",
            "facilityName": "유성종합스포츠센터",
            "id": 10,
            "lat": "36.378512",
            "lng": "127.344399",
            "org": "",
            "phoneNumber": "042-611-2498",
            "sido": "대전광역시",
            "sigungu": "유성구",
            "updatedAt": "2021-07-16 04:55:11",
            "zipCode": "34128"
        }
    ],
    "matchCount": 284,
    "page": 1,
    "perPage": 10,
    "totalCount": 284
}

 

이렇게 JSON 형식으로 데이터를 반환하는 모습을 확인할 수 있습니다.

 

이렇게 반환된 정보를 이용하여 잘 활용하시면 됩니다.!

 


 

반응형

+ Recent posts