Consumir APIs REST en Flask: Guía Práctica con Python y Requests

  Consumir una API REST con Flask

La idea es dejar claro cómo consumir una API REST utilizando Flask y el paquete requests en Python. Además a interactuar con APIs es una habilidad valiosa, ya que te permite acceder a servicios web y obtener datos de forma sencilla y eficiente. A lo largo de esta guía, descubrirás cómo hacer solicitudes a una API, manejar las respuestas y utilizar la información obtenida en tu aplicación Flask.

Requisitos Previos

Asegúrate de tener instalado Flask y el paquete requests. Puedes instalarlos usando pip:

bash
pip install Flask requests

Creación de un Proyecto Flask

Primero, crea un archivo llamado app.py y añade el siguiente código:

python
from flask import Flask, jsonify
import requests

app = Flask(__name__)

@app.route('/api-data')
def get_api_data():
  response = requests.get('https://api.example.com/data')
  data = response.json()  # Convierte la respuesta a JSON
  return jsonify(data)  # Retorna los datos en formato JSON

if __name__ == '__main__':
  app.run(debug=True, port=5000)
  Explicación del Código

  • Importación de Módulos: Importamos Flask para crear la aplicación y requests para realizar solicitudes HTTP.
  • Definición de la Ruta: Definimos la ruta /api-data que, al ser accedida, realiza una solicitud a una API externa.
  • Manejo de la Respuesta: La respuesta se convierte a formato JSON y se retorna como respuesta de la ruta.

Ejecución de la Aplicación

bash
python app.py

Luego, accede a http://127.0.0.1:5000/api-data en tu navegador. Esto debería mostrar los datos obtenidos de la API.

  Consumir una API REST con Flask y Python

A continuación, te comparto un ejemplo práctico para Consumir una API REST con Flask y Python que puede servirte de referencia para tus proyectos.

  • Consumir una API REST con Flask y Python Este repositorio contiene un ejemplo básico de cómo implementar un sistema para consumir una API REST utilizando Flask y Python, ideal para aprender a interactuar con servicios web y manejar datos de manera eficiente.