s谩bado, 15 de febrero de 2025

馃憠 Crear una API con Python: Introducci贸n a Flask

Hasta ahora hemos aprendido a manejar archivos y bases de datos en Python. Pero, ¿c贸mo podemos conectar nuestra aplicaci贸n con otros sistemas o aplicaciones web? La respuesta es: crear una API (Interfaz de Programaci贸n de Aplicaciones).

Hoy aprender谩s:
✔️ ¿Qu茅 es una API y por qu茅 es importante?
✔️ C贸mo instalar y usar Flask en Python
✔️ Crear una API simple con Flask
✔️ Ejemplo pr谩ctico paso a paso


1️⃣ ¿Qu茅 es una API y por qu茅 es importante?

Una API (Application Programming Interface) es un conjunto de reglas que permite a dos aplicaciones comunicarse entre s铆.

馃搶 Ejemplos de APIs en la vida real:
✅ Una app de clima obtiene datos del tiempo de una API de meteorolog铆a.
✅ Un sitio web de pago usa una API de PayPal para procesar transacciones.
✅ Una aplicaci贸n m贸vil obtiene datos de una base de datos a trav茅s de una API.

En Python, podemos crear una API con Flask, un framework ligero y f谩cil de usar.


2️⃣ Instalar Flask en Python

Antes de empezar, instala Flask ejecutando el siguiente comando en tu terminal:

pip install flask

3️⃣ Crear una API Simple con Flask

Ahora, vamos a crear un servidor con Flask que devuelva un mensaje cuando accedamos a una ruta espec铆fica.

馃敼 C贸digo b谩sico de una API en Flask

from flask import Flask app = Flask(__name__) @app.route('/') def inicio(): return {"mensaje": "¡Hola, bienvenido a mi API en Flask!"} if __name__ == '__main__': app.run(debug=True)

馃搶 Explicaci贸n:
Flask(__name__) → Crea una instancia de Flask.
@app.route('/') → Define una ruta para la API ("/" es la p谩gina principal).
return {"mensaje": "Hola"} → Devuelve un JSON con un mensaje.
app.run(debug=True) → Inicia el servidor en modo de desarrollo.

馃搶 Para probar la API:
1️⃣ Guarda el c贸digo en un archivo api.py.
2️⃣ Ejecuta python api.py.
3️⃣ Abre un navegador y visita http://127.0.0.1:5000/.

馃搶 Salida esperada en el navegador:

{"mensaje": "¡Hola, bienvenido a mi API en Flask!"}

4️⃣ Crear una API con Rutas Din谩micas

Podemos mejorar nuestra API permitiendo par谩metros en la URL.

from flask import Flask app = Flask(__name__) @app.route('/saludo/<nombre>') def saludo(nombre): return {"mensaje": f"Hola, {nombre}! Bienvenido a la API."} if __name__ == '__main__': app.run(debug=True)

馃搶 Prueba la API en tu navegador visitando:
馃憠 http://127.0.0.1:5000/saludo/Jos茅

馃搶 Salida esperada:

{"mensaje": "Hola, Jos茅! Bienvenido a la API."}

<nombre> permite recibir un valor din谩mico desde la URL.


5️⃣ Enviar y Recibir Datos con POST en Flask

A veces, necesitamos recibir datos desde una aplicaci贸n externa. Para esto, usamos m茅todos HTTP, como POST.

馃敼 Ejemplo: Recibir datos con POST

from flask import Flask, request app = Flask(__name__) @app.route('/sumar', methods=['POST']) def sumar(): datos = request.get_json() resultado = datos['a'] + datos['b'] return {"resultado": resultado} if __name__ == '__main__': app.run(debug=True)

馃搶 C贸mo probarlo:
Usa Postman o ejecuta este comando en la terminal:

curl -X POST http://127.0.0.1:5000/sumar -H "Content-Type: application/json" -d '{"a": 5, "b": 3}'

馃搶 Salida esperada:

{"resultado": 8}

request.get_json() → Recibe datos en formato JSON desde una petici贸n POST.
✅ Se suman los valores y se devuelve un JSON con el resultado.


6️⃣ Conectar Flask con una Base de Datos SQLite

Podemos conectar nuestra API con una base de datos para almacenar informaci贸n.

馃敼 Ejemplo: API con SQLite para manejar usuarios

from flask import Flask, request, jsonify import sqlite3 app = Flask(__name__) # Crear base de datos conexion = sqlite3.connect("usuarios.db", check_same_thread=False) cursor = conexion.cursor() cursor.execute("CREATE TABLE IF NOT EXISTS usuarios (id INTEGER PRIMARY KEY, nombre TEXT)") conexion.commit() @app.route('/usuarios', methods=['POST']) def agregar_usuario(): datos = request.get_json() cursor.execute("INSERT INTO usuarios (nombre) VALUES (?)", (datos['nombre'],)) conexion.commit() return jsonify({"mensaje": "Usuario agregado con 茅xito"}), 201 @app.route('/usuarios', methods=['GET']) def obtener_usuarios(): cursor.execute("SELECT * FROM usuarios") usuarios = cursor.fetchall() return jsonify({"usuarios": usuarios}) if __name__ == '__main__': app.run(debug=True)

馃搶 Explicaci贸n:
✅ Se crea una base de datos SQLite llamada usuarios.db.
POST /usuarios → Permite agregar un usuario.
GET /usuarios → Devuelve la lista de usuarios almacenados.


馃殌 Conclusi贸n

Hoy aprendimos a crear una API con Flask en Python, desde lo m谩s b谩sico hasta integrar una base de datos.

Flask es un framework ligero para construir APIs en Python.
✅ Podemos definir rutas din谩micas y recibir datos mediante POST.
✅ Podemos conectar nuestra API con una base de datos SQLite.

En el pr贸ximo post, veremos c贸mo desplegar nuestra API en la nube usando servicios como Heroku o Render. ¡No te lo pierdas!

馃搨 Descarga ejemplos y ejercicios en mi GitHub: github.com/josecodetech

馃帴 Aprende con mis videos en YouTube: https://www.youtube.com/@josecodetech

馃挰 D茅jame un comentario si tienes dudas o quieres que cubra alg煤n tema en detalle.



No hay comentarios:

Publicar un comentario

Se procedera a revision para su pronta publicacion en caso de que no incumpla las normas de blogger.