FastAPI , crea una api en python fácil (ejemplos básicos)

FastAPI es un framework de Python para crear APIs web de manera rápida y fácil. Aquí te proporciono algunos ejemplos básicos de uso de FastAPI:

instalación:

pip install fastapi

1: Hola Mundo

from fastapi import FastAPI

app = FastAPI()

@app.get("/")
def read_root():
    return {"Hello": "World"}

Este código crea una aplicación FastAPI básica y define una ruta raíz («/») que devuelve un diccionario JSON con el mensaje «Hello World».

Explicación:

  • La primera línea importa la clase FastAPI de la librería FastAPI.
  • La segunda línea crea una instancia de la clase FastAPI y la asigna a la variable app.
  • La función decorada @app.get("/") define una ruta HTTP GET para la ruta raíz ("/").
  • La función read_root se ejecuta cuando se accede a la ruta raíz y devuelve un diccionario JSON con el mensaje «Hello World».

2: Parámetros de consulta

from fastapi import FastAPI

app = FastAPI()

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

Este código define una ruta para «/items/» con un parámetro obligatorio item_id de tipo entero y un parámetro opcional q de tipo cadena.

Explicación:

  • La función decorada @app.get("/items/") define una ruta HTTP GET para «/items/».
  • La función read_item toma dos parámetros: item_id, que es un entero y se espera que esté presente en la URL, y q, que es una cadena opcional y se puede proporcionar como una consulta.
  • La función devuelve un diccionario JSON que contiene los valores de los parámetros item_id y q.

3: Datos de formulario

from fastapi import FastAPI, Form

app = FastAPI()

@app.post("/login/")
def login(username: str = Form(...), password: str = Form(...)):
    return {"username": username}

Este código define una ruta para «/login/» que espera datos de formulario con los campos «username» y «password».

Explicación:

  • La función decorada @app.post("/login/") define una ruta HTTP POST para «/login/».
  • La función login espera dos parámetros de formulario: username y password.
  • El decorador Form(...) indica que los parámetros son campos de formulario obligatorios.
  • La función devuelve un diccionario JSON que contiene el valor del parámetro username.