FastAPI: Introducción y entorno

FastAPI
FastAPI
Actualizado: 01/07/2025

¡Desbloquea el curso completo!

IA
Ejercicios
Certificado
Entrar

Introducción y entorno

FastAPI es un framework web moderno para construir APIs con Python que se ha convertido en una de las opciones más populares para el desarrollo de servicios web. Su diseño se centra en la velocidad de desarrollo y el rendimiento, ofreciendo características avanzadas como validación automática de datos, documentación interactiva y soporte nativo para programación asíncrona.

¿Qué es FastAPI?

FastAPI combina la simplicidad de Python con las mejores prácticas del desarrollo web moderno. A diferencia de otros frameworks, FastAPI genera automáticamente documentación interactiva de tu API mientras escribes el código, utilizando estándares como OpenAPI y JSON Schema.

El framework está construido sobre Starlette para las funcionalidades web y Pydantic para la validación de datos, lo que le proporciona una base sólida y confiable. Esta arquitectura permite que FastAPI ofrezca un rendimiento comparable a frameworks escritos en lenguajes compilados como Go o Node.js.

Características principales

FastAPI destaca por varias características que lo hacen especialmente atractivo para desarrolladores:

  • Validación automática: Los datos de entrada se validan automáticamente según los tipos de Python que declares
  • Documentación interactiva: Genera automáticamente documentación Swagger UI y ReDoc
  • Soporte para async/await: Manejo nativo de operaciones asíncronas para mejor rendimiento
  • Autocompletado del editor: Excelente soporte para IDEs gracias a los type hints de Python
  • Estándares modernos: Basado en OpenAPI, JSON Schema y OAuth2

Instalación del entorno

Guarda tu progreso

Inicia sesión para no perder tu progreso y accede a miles de tutoriales, ejercicios prácticos y nuestro asistente de IA.

Progreso guardado
Asistente IA
Ejercicios
Iniciar sesión gratis

Más de 25.000 desarrolladores ya confían en CertiDevs

Para comenzar a trabajar con FastAPI, necesitas tener Python 3.13 instalado en tu sistema. La instalación se realiza mediante pip, el gestor de paquetes de Python:

pip install fastapi

Además de FastAPI, necesitarás un servidor ASGI para ejecutar tu aplicación. Uvicorn es la opción más común y recomendada:

pip install uvicorn[standard]

También es recomendable instalar las dependencias opcionales que mejoran la funcionalidad:

pip install python-multipart
pip install python-jose[cryptography]
pip install passlib[bcrypt]

Tu primera aplicación FastAPI

Crear una aplicación básica con FastAPI requiere muy pocas líneas de código. Aquí tienes un ejemplo mínimo:

from fastapi import FastAPI

app = FastAPI()

@app.get("/")
def read_root():
    return {"message": "¡Hola, FastAPI!"}

@app.get("/items/{item_id}")
def read_item(item_id: int, q: str = None):
    return {"item_id": item_id, "q": q}

Para ejecutar esta aplicación, guarda el código en un archivo llamado main.py y ejecuta:

uvicorn main:app --reload

El parámetro --reload hace que el servidor se reinicie automáticamente cuando detecta cambios en el código, lo que es muy útil durante el desarrollo.

Documentación automática

Una vez que tu aplicación esté ejecutándose, FastAPI genera automáticamente documentación interactiva. Puedes acceder a ella visitando:

  • Swagger UI: http://localhost:8000/docs
  • ReDoc: http://localhost:8000/redoc

Esta documentación se actualiza automáticamente cada vez que modificas tu código, mostrando todos los endpoints, parámetros y tipos de datos de tu API.

Estructura de un proyecto FastAPI

Para proyectos más complejos, es recomendable organizar el código en una estructura clara:

mi_proyecto/
├── app/
│   ├── __init__.py
│   ├── main.py
│   ├── models/
│   ├── routers/
│   └── dependencies.py
├── tests/
└── requirements.txt

Esta estructura separa la lógica de negocio, los modelos de datos y las rutas en módulos diferentes, facilitando el mantenimiento y la escalabilidad del proyecto.

Configuración del entorno de desarrollo

Para un flujo de trabajo eficiente, configura tu entorno de desarrollo con las siguientes herramientas:

Editor recomendado: Visual Studio Code con las extensiones de Python proporciona excelente soporte para FastAPI, incluyendo autocompletado y detección de errores.

Entorno virtual: Siempre trabaja dentro de un entorno virtual para aislar las dependencias:

python -m venv fastapi_env
source fastapi_env/bin/activate  # En Windows: fastapi_env\Scripts\activate

Variables de entorno: Utiliza archivos .env para configurar variables como URLs de base de datos o claves secretas:

from pydantic_settings import BaseSettings

class Settings(BaseSettings):
    app_name: str = "Mi API"
    debug: bool = False
    
    class Config:
        env_file = ".env"

settings = Settings()

Herramientas de desarrollo

FastAPI se integra perfectamente con herramientas modernas de desarrollo Python:

  • Pytest: Para testing automatizado de tu API
  • Black: Para formateo automático del código
  • Mypy: Para verificación estática de tipos
  • Pre-commit: Para ejecutar verificaciones antes de cada commit

La configuración de estas herramientas desde el inicio del proyecto te ayudará a mantener un código limpio y confiable a medida que tu aplicación crezca en complejidad.

Completa FastAPI y certifícate

Únete a nuestra plataforma y accede a miles de tutoriales, ejercicios prácticos, proyectos reales y nuestro asistente de IA personalizado para acelerar tu aprendizaje.

Asistente IA

Resuelve dudas al instante

Ejercicios

Practica con proyectos reales

Certificados

Valida tus conocimientos

Más de 25.000 desarrolladores ya se han certificado con CertiDevs

⭐⭐⭐⭐⭐
4.9/5 valoración