Hola Mundo con FastAPI

El Hola Mundo es el punto de partida clásico para aprender un framework: nos permite verificar que la instalación funciona y entender la lógica básica.

Crear el archivo principal

En tu carpeta proyecto2, creá un archivo llamado main.py y escribí lo siguiente:

from fastapi import FastAPI   # 1

app = FastAPI()               # 2

@app.get("/")                 # 3
def read_root():              # 4
    return {"mensaje": "Hola FastAPI!"}  # 5

Explicación línea por línea

Línea 1

from fastapi import FastAPI

Importamos la clase FastAPI del paquete fastapi. Esta clase es la que nos permite crear una aplicación web en Python.

Línea 2

app = FastAPI()

Creamos una instancia de FastAPI llamada app. Esta variable app es lo que Uvicorn necesita para arrancar el servidor. Por convención suele llamarse app, aunque podría tener otro nombre.

Línea 3

@app.get("/")

Este es un decorador que indica que la función siguiente va a manejar las peticiones GET a la ruta /. En otras palabras: si alguien entra a http://127.0.0.1:8000/, se ejecuta la función read_root.

Línea 4

def read_root():

Definimos la función que se ejecutará cuando alguien acceda a la raíz /. El nombre read_root es libre, pero conviene que sea descriptivo.

Línea 5

return {"mensaje": "Hola FastAPI!"}

La función devuelve un diccionario de Python. FastAPI lo convierte automáticamente a JSON (JavaScript Object Notation), el formato estándar en APIs. La respuesta que recibirá el cliente será:

{"mensaje": "Hola FastAPI!"}

Ejecutar el servidor con Uvicorn (Windows)

En PowerShell, con tu entorno virtual activado (.\.venv\Scripts\activate), ejecutá:

uvicorn main:app --reload

Explicación de parámetros:

  • main: nombre del archivo main.py (sin la extensión).
  • app: la variable que contiene la aplicación FastAPI.
  • --reload: reinicia automáticamente el servidor cada vez que guardes cambios (útil en desarrollo).

Si todo va bien, verás algo como:

INFO:     Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
INFO:     Application startup complete.

Probar el Hola Mundo

Abrí tu navegador en: http://127.0.0.1:8000/

Resultado:

{"mensaje": "Hola FastAPI!"}

Probar la documentación automática:

  • http://127.0.0.1:8000/docs — Swagger UI (interactiva).
  • http://127.0.0.1:8000/redoc — ReDoc (más formal).

Qué aprendiste con este Hola Mundo?

  • Cómo crear una aplicación FastAPI (app = FastAPI()).
  • Cómo definir un endpoint usando decoradores (@app.get("/")).
  • Cómo devolver datos en formato JSON.
  • Cómo correr la aplicación con Uvicorn.
  • Que FastAPI genera automáticamente documentación de tu API.

Ejercicio práctico

Agregá este endpoint debajo de read_root en tu main.py:

@app.get("/saludo/{nombre}")
def read_saludo(nombre: str):
    return {"mensaje": f"Hola {nombre}, bienvenido a FastAPI!"}

Y probá en el navegador:

http://127.0.0.1:8000/saludo/Juan

Respuesta esperada:

{"mensaje": "Hola Juan, bienvenido a FastAPI!"}