POLITICA DE COOKIES

Q2BSTUDIO.COM utiliza cookies técnicas, analíticas, de sesión y de publicidad con la finalidad de prestar un mejor servicio. No obstante, necesitamos su consentimiento explícito para poder utilizarlas. Así mismo puede cambiar la configuración de las cookies u obtener más información aquí .

Detén el encadenamiento de propiedades en FastAPI: globales a nivel de solicitud

Cómo evitar el encadenamiento de propiedades en FastAPI con ContextVar y Current

Publicado el 23/09/2025

En muchas aplicaciones FastAPI aparece el problema conocido como encadenamiento de propiedades o property drilling donde objetos de contexto como el usuario autenticado o la sesión de base de datos se crean en el controlador y se pasan manualmente por cada capa hasta llegar a la política que finalmente decide si una acción está permitida. Esto genera código verboso, cadenas de dependencias en tests y una superficie mayor de mantenimiento.

Antes esto suele verse así: el endpoint obtiene la sesión y el usuario, crea un contexto y lo pasa al servicio; el servicio lo reenvía al repositorio; el repositorio lo reenvía al registro de auditoría y al bus de eventos; y la política de negocio recibe ese mismo contexto solo para comprobar permisos. Es el clásico caso de pasar datos por componentes que no los usan solo para que un elemento profundamente anidado pueda acceder a ellos.

La solución práctica que implementamos es usar variables de contexto a nivel de solicitud (ContextVar) y un wrapper tipo Current inspirado en el patrón Current de Ruby. Al inicio de cada petición, un middleware crea el contexto del usuario y lo asigna a una variable de contexto segura para entornos asíncronos. Durante la ejecución normal de la request cualquier capa que necesite información del usuario o de la sesión puede leerla directamente desde Current sin necesidad de recibirla como parámetro en cada llamada.

Ventajas clave de este enfoque: seguridad en entornos async porque ContextVar evita condiciones de carrera; reducción significativa del código repetitivo en controladores, servicios y repositorios; tests más simples al eliminar largas cadenas de mocks; y mayor claridad porque las llamadas a funciones se centran en la lógica de negocio, no en transportar metadata de usuario.

De forma resumida el flujo cambia de pasar contexto por todos lados a establecerlo una sola vez en un middleware y acceder a Current solo donde se necesita, por ejemplo en políticas de permisos o en logs de auditoría. Con esta técnica logramos reducir el código en capas de servicio y repositorio hasta un 40 por ciento y simplificar la configuración de pruebas a la mitad.

En Q2BSTUDIO aplicamos patrones como este cuando desarrollamos aplicaciones a medida y software a medida para clientes que buscan soluciones escalables y seguras. Nuestra experiencia incluye integración de inteligencia artificial para empresas, agentes IA, servicios de ciberseguridad y pentesting, y despliegues en servicios cloud aws y azure. Si tu proyecto necesita una aplicación robusta y mantenible podemos ayudarte a diseñar la arquitectura y aplicar patrones que reduzcan complejidad y mejoren la testabilidad.

Si te interesa profundizar en desarrollo de aplicaciones a medida visita nuestro servicio de desarrollo de aplicaciones y software multiplataforma y para soluciones de IA corporativa consulta nuestra propuesta de inteligencia artificial para empresas. En Q2BSTUDIO también ofrecemos servicios de Business Intelligence y Power BI, automatización de procesos, y arquitecturas seguras en la nube que combinan rendimiento y cumplimiento.

Si quieres que adaptemos este patrón Current a tu stack FastAPI o que evaluemos la arquitectura de permisos y auditoría de tu proyecto, contacta con nosotros y diseñaremos una solución a medida que incluya buenas prácticas de seguridad, pruebas y despliegue en la nube.

Fin del artículo, inicio de la diversión
Construyendo software juntos

Dando vida a tus ideas desde 2008

Diseñamos aplicaciones móviles y de escritorio innovadoras que cumplen con tus requisitos específicos y mejoran la eficiencia operativa.
Más info
Cuéntanos tu visión
Sea cual sea el alcance, podemos convertir tu idea en realidad. Envíanosla y charlemos sobre tu proyecto o una colaboración futura.
Contáctanos
artículos destacados
Live Chat
Enviado correctamente.

Gracias por confiar en Q2BStudio