Bienvenido a la ruta de BACKEND: crear el "cerebro" que vive en un servidor y responde peticiones —lo que
consume una app de React, una app móvil, u otro programa—. Es de los usos más demandados de Python, y su
herramienta estrella es FASTAPI: un framework moderno, rapidísimo, que usa los type hints que ya dominas
para construir APIs validadas y autodocumentadas con muy poco código. Hoy entiendes qué es una API REST y
creas tu primer endpoint.
El mesero entre la app y los datos
APIs REST y HTTP
Tu primera API con FastAPI
Como una API necesita un servidor corriendo (que este entorno del navegador no provee), esta ruta va con
bloques —pruébalos tras pip install "fastapi[standard]"—:
main.py
from fastapi import FastAPIapp = FastAPI()# @app.get define un endpoint que responde a GET en esa ruta@app.get("/")def inicio(): return {"mensaje": "¡API de Mi Bolsillo funcionando!"}@app.get("/gastos")def listar_gastos(): # FastAPI convierte el dict/list a JSON automáticamente return [ {"id": 1, "nombre": "Café", "valor": 4000}, {"id": 2, "nombre": "Bus", "valor": 2800}, ]
Se ejecuta con uvicorn (un servidor), y respondes peticiones:
app = FastAPI() crea la aplicación. Cada función decorada con @app.get("/ruta") es un ENDPOINT que
responde a peticiones GET en esa ruta —y lo que devuelve (un diccionario o lista) FastAPI lo convierte a JSON
automáticamente—. Lo arrancas con fastapi dev main.py (que usa el servidor uvicorn), y ya responde en
http://127.0.0.1:8000. Fíjate lo mínimo que es: una función que devuelve datos se vuelve un endpoint web.
La documentación automática
En una API REST, ¿qué determina la URL y qué el método HTTP, y qué hace @app.get('/gastos') en FastAPI?
Mini-reto
Diseña (en tu Python instalado) una API mínima: 1) crea una app FastAPI con un endpoint GET / que devuelva
un mensaje de bienvenida; 2) un endpoint GET /gastos que devuelva una lista de diccionarios de gastos; 3)
un endpoint GET /saludo que devuelva {"hola": "mundo"}; 4) córrela con fastapi dev y visita /docs para
probar tus endpoints desde el navegador. Observa cómo la documentación aparece sola.
Qué sigue
Ya tienes endpoints que devuelven datos fijos. La próxima lección los hace dinámicos con los PARÁMETROS: leer
partes variables de la URL (/gastos/5), parámetros de consulta (?categoria=comida), y datos en el cuerpo
de la petición —para que tu API responda según lo que le piden—.