Contenido del curso
FastAPI Path Operations
Validaciones con Pydantic
Autenticación en FastAPI
Conexión con bases de datos en FastAPI
- 19

SQLAlchemy: el ORM de FastAPI
01:01 min - 20

Instalación y configuración de SQLAlchemy
06:48 min - 21

Creación de modelos con SQLAlchemy
05:35 min - 22

Registro de datos con SQLAlchemy
03:19 min - 23

Consulta de datos con SQLAlchemy
07:25 min - 24

Modificación y eliminación de datos con SQLAlchemy
05:44 min - 25

SQLModel: el futuro ORM de FastAPI
01:59 min
Modularización
Despliegue de Aplicación en FastAPI
Próximos pasos
Bonus
Validaciones de parámetros con Pydantic
Resumen
¿Cómo validar parámetros en FastAPI?
La validación de parámetros es un aspecto crucial cuando se desarrollan APIs, ya que garantiza que los datos que recibe el servidor sean válidos y se ajusten a los criterios determinados. Aprender a realizar estas validaciones en FastAPI es una habilidad valiosa para cualquier desarrollador. Vamos a explorar cómo implementar validaciones tanto para los parámetros de ruta como para los parámetros query.
¿Cómo se definen las validaciones en los parámetros de ruta?
Para comenzar con las validaciones de los parámetros de ruta, es importante saber que necesitamos importar ciertas clases de FastAPI. Estas clases nos permiten definir las reglas de validación que queremos aplicar.
from fastapi import FastAPI, Path app = FastAPI() @app.get("/movies/{movie_id}") def get_movie(movie_id: int = Path(..., ge=1, le=2000)): return {"movie_id": movie_id}
- Importar la clase
Path: Nos permite definir validaciones para los parámetros de ruta. - Definición del parámetro: Se utiliza el operador
...para indicar que es un parámetro obligatorio. - Validaciones específicas: En el ejemplo se indica que
movie_iddebe ser un valor entre 1 y 2000, usandogepara "mayor o igual" ylepara "menor o igual".
¿Cómo se gestionan las validaciones en los parámetros query?
Para validar los parámetros query, también se requiere importar una clase adicional de FastAPI que nos ayudará a definir las validaciones necesarias.
from fastapi import Query @app.get("/movies/") def get_movies_by_category(category: str = Query(..., min_length=5, max_length=15)): return {"category": category}
- Importar la clase
Query: Facilita la definición de validaciones para los parámetros query. - Longitud mínima y máxima: En este caso,
categorynecesita tener entre 5 y 15 caracteres. - Parámetro obligatorio: La presencia del operador
...establece al parámetro como obligatorio.
¿Por qué es importante la validación de parámetros?
La validación no solo mejora la seguridad al evitar que datos no deseados o malformados lleguen a nuestro sistema; también contribuye a una mejor experiencia de usuario al proporcionar errores claros y específicos cuando se ingresan datos no válidos. Esto, a su vez, facilita el mantenimiento y la robustez de la aplicación.
Al incorporar validaciones en nuestra aplicación, estamos diciendo a los usuarios y al sistema que somos conscientes del tipo de datos que aceptamos y que queremos manejar las operaciones de manera predecible y segura.
Consejos y recomendaciones para aplicar validaciones en FastAPI
- Documenta las validaciones: Usa la documentación automática de FastAPI para que los usuarios de tu API sepan qué restricciones existen.
- Testea constantemente: Realiza pruebas para asegurarte que las validaciones están funcionando como se espera.
- Sé flexible y adaptativo: Si encuentras que tus criterios de validación son demasiado restrictivos o laxos, no dudes en ajustarlos según las necesidades de tus usuarios y el contexto de tu aplicación.
Entender y aplicar validaciones en FastAPI es un paso fundamental en tu camino de desarrollo. Te animo a practicar y experimentar con diferentes tipos de validaciones para perfeccionar tu competencia en el uso de este potente framework. Sigue aprendiendo y desafiándote a ti mismo. ¡Tu viaje apenas comienza!