[python] Flask-RESTful에서 외부 API를 연동하는 방법

Flask-RESTful은 파이썬에서 RESTful API를 쉽게 개발할 수 있도록 도와주는 프레임워크입니다. 이번 포스트에서는 Flask-RESTful을 사용하여 외부 API를 연동하는 방법에 대해 알아보겠습니다.

외부 API 연동을 위한 라이브러리 설치하기

먼저, 외부 API를 연동하기 위해 requests 라이브러리를 설치해야 합니다. requests는 HTTP 요청을 보내고 응답을 받는 기능을 제공하는 라이브러리입니다. 다음 명령을 사용하여 requests 라이브러리를 설치하세요:

pip install requests

외부 API와의 통신

Flask-RESTful에서 외부 API를 연동하기 위해서는 requests 라이브러리를 사용하여 HTTP 요청을 보내고 응답을 처리해야 합니다. 다음은 간단한 예제 코드입니다:

from flask import Flask
from flask_restful import Resource, Api
import requests

app = Flask(__name__)
api = Api(app)

class ExternalAPI(Resource):
    def get(self):
        response = requests.get("https://api.example.com/data")
        
        if response.status_code == 200:
            data = response.json()
            return data, 200
        
        return "Error", response.status_code

api.add_resource(ExternalAPI, '/external-api')

if __name__ == '__main__':
    app.run()

위의 예제 코드에서는 ExternalAPI 클래스에서 GET 요청을 처리하고, requests.get 함수를 사용하여 외부 API에 요청을 보내고 응답을 받습니다. 응답의 상태 코드가 200인 경우에는 JSON 형식의 데이터를 반환하고, 그렇지 않은 경우에는 오류 메시지와 상태 코드를 리턴합니다.

테스트하기

위의 코드를 실행하기 위해서는 Flask 와 Flask-RESTful 패키지가 설치되어 있어야 합니다. 설치된 경로에서 다음 명령을 실행하면 Flask 서버가 실행되고, /external-api 엔드포인트로 GET 요청을 보낼 수 있습니다.

python api.py

POSTMAN과 같은 API 개발 도구를 사용하여 /external-api 엔드포인트로 GET 요청을 보내고 응답을 확인할 수 있습니다.

결론

이번 포스트에서는 Flask-RESTful을 사용하여 외부 API를 연동하는 방법을 알아보았습니다. requests 라이브러리를 사용하여 HTTP 요청을 보내고 응답을 처리하는 방법에 대해 배웠습니다. 이를 통해 Flask-RESTful을 사용하여 다른 서비스와의 통신을 쉽게 구현할 수 있습니다.