¿Qué es FastAPI?
FastAPI es un framework web moderno y de alto rendimiento para crear APIs con Python. Desarrollado por Sebastián Ramírez, este framework está construido sobre los estándares OpenAPI y JSON Schema, lo que garantiza la generación automática de documentación y la tipificación de datos.
FastAPI aprovecha las últimas características de Python, como las anotaciones de tipo (type hints) y la programación asíncrona, convirtiéndolo en uno de los frameworks Python más rápidos para el desarrollo de APIs. En términos de rendimiento, es comparable con Node.js y Go, lo que lo hace ideal para aplicaciones de alta demanda.
Características clave de FastAPI
Alto rendimiento
FastAPI se basa en Starlette para la parte web y en Pydantic para la validación de datos. Esto ofrece un rendimiento al nivel de los frameworks Python más rápidos. El framework es totalmente compatible con ASGI (Asynchronous Server Gateway Interface), permitiendo manejar miles de conexiones simultáneas.
Documentación automática
Una de las principales ventajas de FastAPI es la generación automática de documentación interactiva para la API. El framework crea documentación en formato OpenAPI (Swagger) y proporciona dos interfaces:
- Swagger UI — disponible en la ruta
/docs - ReDoc — disponible en la ruta
/redoc
Soporte completo de tipado
FastAPI utiliza las anotaciones de tipo estándar de Python para validar datos, serializar y generar documentación automáticamente. Esto garantiza un excelente autocompletado en el IDE y reduce los errores durante el desarrollo.
Validación de datos integrada
Gracias a la integración con Pydantic, FastAPI valida automáticamente los datos de entrada, convierte tipos y devuelve mensajes de error claros. Esto simplifica enormemente el desarrollo y mejora la fiabilidad de las aplicaciones.
Asincronía desde el inicio
FastAPI es totalmente compatible con la programación asíncrona mediante async/await. Esto permite crear aplicaciones de alto rendimiento capaces de manejar múltiples solicitudes simultáneas.
Instalación y configuración básica
Instalación de FastAPI
Para instalar FastAPI y todas las dependencias necesarias, usa el siguiente comando:
pip install fastapi[all]
Este comando instalará FastAPI junto con Uvicorn (servidor ASGI) y otras dependencias útiles.
Para una instalación mínima, usa:
pip install fastapi
pip install uvicorn[standard]
Creación de la primera aplicación
Crea un archivo main.py con una aplicación básica:
from fastapi import FastAPI
app = FastAPI(
title="Mi proyecto FastAPI",
description="Este es un ejemplo de aplicación FastAPI",
version="1.0.0"
)
@app.get("/")
async def root():
return {"message": "¡Bienvenido a FastAPI!"}
@app.get("/health")
async def health_check():
return {"status": "ok"}
Ejecutar la aplicación
Inicia el servidor de desarrollo con Uvicorn:
uvicorn main:app --reload --host 0.0.0.0 --port 8000
Parámetros de inicio:
--reload— recarga automática al modificar el código--host 0.0.0.0— acepta conexiones desde todas las direcciones IP--port 8000— puerto para ejecutar el servidor
Trabajar con métodos HTTP
FastAPI admite todos los métodos HTTP estándar mediante decoradores:
Solicitudes GET
@app.get("/items/{item_id}")
async def get_item(item_id: int, q: str = None):
return {"item_id": item_id, "q": q}
@app.get("/items/")
async def get_items(skip: int = 0, También en la biblioteca
Trabajo con XML en Kotlin: bibliotecas y herramientas para análisis y creación
Cliente OAuth para TypeScript: integración de autorización en aplicaciones web
Generación de informes PDF en Rust: biblioteca printpdf
Caché en C++: Redis, capa de datos y otras herramientas