Documentos de Académico
Documentos de Profesional
Documentos de Cultura
LABORATORIO IV
Introducción a FASTAPI
<> FastAPI
FastAPI es un framework moderno, rápido y robusto creado con la idea de aprovechar de
forma nativa los type-hints de Python, enfocándose en la performance y en las
necesidades de las aplicaciones de la actualidad. Está construido sobre Starlette y
Pydantic, lo que le permite soportar de forma nativa numerosos características y que
la experiencia de desarrollo sea la mejor posible.
https://fastapi.tiangolo.com/
• Excelente performance.
$ python –V.
$ pip –V.
<> Configuración del
ambiente de desarrollo.
Debemos generar un ambiente virtual para poder crear la
primera aplicación en FastApi.
$ source bin/activate
$ Scripts\activate
app = FastAPI()
@app.get("/")
def hello_world():
Lo cual nos da acceso a múltiples funcionalidades del framework, como lo es, crear las rutas de
la aplicación.
Definimos una petición de tipo GET para la raíz y mediante un decorador:@app.get("/")
Por supuesto, podemos acceder a otros tipos de peticiones como POST, PUT, PATCH y DELETE.
Es decir, para enviar una petición de tipo GET, usamos la función deget(), para enviar una
petición de tipo POST, usamos la función de post().
Al igual que ocurre con otros frameworks web, cada petición es procesada mediante una función,
en el ejemplo anterior, la petición de tipo GET para la raíz, es procesada mediante una función
llamada hello_world() que lo único que hace es devolver un diccionario indicando el mensaje de
"hola mundo":
@app.get("/")
def hello_world():
return {"hello": "world"}
<> HOLA MUNDO en FASTAPI
Finalmente para poder ver los resultados necesitamos correr un
servidor que procese las peticiones HTTP. Para ello tenemos
que debemos ejecutar UVICORN, con el siguiente comando:
@app.get("/movies/{id}")
def get_movies(id: int):
#TODO
return {“MOVIE ID": id}
<> PARAMETROS QUERY
Los parámetros query son conjunto de argumentos opcionales
clave valor que se añaden al final de la URL luego del signo ?
y nos permiten pasarle al endpoint información para hacer
filtrados , ordenamientos, paginaciones, etc.
www.ejemplo.com/movies?categoria=Accion&year=2020
@app.get("/movies/{")
def get_movies(categoria:str, year:int):
#TODO filtrar lista de películas x cat y año
return {movie}