Contenido del curso
Parámetros y Validación
CRUD en FastAPI
Arquitectura en FastAPI
Bases de Datos y Consultas
Middlewares
Unit Testing
Seguridad y Autenticación
Instala FastAPI y crea tu primer endpoint
Resumen
Configurar FastAPI desde cero requiere tres pasos básicos: crear un entorno virtual, instalar el framework con sus dependencias estándar y levantar tu primer endpoint con Uvicorn. Si estás empezando con APIs en Python, esta guía te muestra el flujo mínimo para tener un servidor corriendo en minutos.
¿Por qué usar un entorno virtual antes de instalar FastAPI?
Un entorno virtual aísla las dependencias de tu proyecto para que no choquen con las de otros proyectos en tu máquina. Es el primer paso obligatorio antes de tocar cualquier framework de Python [0:08].
Para crearlo, abres la terminal y ejecutas el módulo venv de Python dentro de una carpeta llamada curso-fastapi. Después lo activas con source apuntando al ejecutable activate que vive en la carpeta bin del entorno [0:25].
¿Qué hace un entorno virtual en Python? Crea un espacio aislado donde instalas paquetes solo para ese proyecto. Así evitas que las versiones de una librería rompan otros proyectos que usan versiones distintas.
¿Cómo instalar FastAPI con sus dependencias estándar?
Una vez activado el entorno, ejecutas pip install pero con un detalle importante: agregas [standard] al nombre del paquete para traer las dependencias recomendadas [1:00].
Si escribes el comando sin comillas, la terminal interpreta los corchetes y falla. La solución es envolver el nombre entre comillas dobles, así:
bash pip install "fastapi[standard]"
Esto instala FastAPI más una serie de paquetes que necesitas para correr la aplicación localmente [1:30]. Entre ellos están:
- Jinja, para manejar templates.
- Markdown, para procesar texto.
- Uvicorn, que crea el servidor web desde una aplicación Python.
FastAPI usa estos paquetes para generar automáticamente la documentación de tu API, así que tenerlos desde el inicio te ahorra dolores de cabeza más adelante.
¿Cómo crear tu primer endpoint con FastAPI?
Con el entorno listo, creas una carpeta llamada curso-fastapi-project y dentro un archivo main.py. Ese archivo va a contener toda la aplicación [2:30].
El código mínimo se ve así:
python from fastapi import FastAPI
app = FastAPI()
@app.get("/") def root(): return {"message": "Hola, mundo"}
Fíjate en tres detalles. Primero, FastAPI se importa con F mayúscula porque es una clase. Segundo, la instancia app es la que vas a usar para registrar todos los endpoints. Tercero, el decorador @app.get("/") le dice a FastAPI que ese método responde a peticiones GET en la ruta raíz [3:15].
¿Qué es un decorador en FastAPI? Es la sintaxis con
@que conecta una función con un método HTTP y una ruta específica. Sin él, FastAPI no sabe que tu función es un endpoint.
¿Cómo levantar el servidor de desarrollo?
FastAPI incluye un comando directo para correr la aplicación: fastapi dev. Al ejecutarlo, la terminal te muestra varios bloques de información útil [4:20].
Entre lo que aparece en el output destacan:
- El archivo que está usando por defecto, en este caso
main.py. - La URL donde se sirve la API, lista para consumir desde un frontend.
- La URL de la documentación, accesible al agregar
/docsal final.
La documentación se genera con Swagger sobre el estándar OpenAPI. Si entras a localhost/docs ves la interfaz visual con cada endpoint, sus parámetros y los tipos de respuesta. Para el ejemplo del Hola, mundo, la respuesta documentada es un código 200 con un string [5:10].
¿Qué ventajas tiene el modo desarrollo de FastAPI?
El comando fastapi dev corre el servidor en modo desarrollo, lo que activa la recarga automática. Cada vez que guardas un cambio en el código, el servidor se apaga y se vuelve a iniciar solo [6:00].
Por ejemplo, si cambias el mensaje de Hola, mundo a Hola, Luis y guardas, la terminal muestra el reinicio en tiempo real. No tienes que detener y levantar el servidor manualmente para ver cada modificación reflejada.
La terminal también te muestra qué archivo está siendo observado y la ruta donde viven los archivos que disparan la recarga. Es una funcionalidad pensada para iterar rápido sin fricción.
Reto: devuelve la hora actual desde un endpoint
Con tu proyecto configurado, ya tienes la base para construir una API completa. El plan del curso es desarrollar una API que permita crear cuentas de cobro para tus clientes, endpoint por endpoint, conectando con bases de datos para administrar la información [7:30].
Como práctica, crea un nuevo endpoint que devuelva la hora exacta del momento en que se hace el request. Puedes apoyarte en el módulo datetime de Python y retornar el valor dentro de un diccionario, igual que en el ejemplo del Hola, mundo.
¿Te animas a compartir tu solución en los comentarios?