Sub Aplicaciones - Mounts¶
🌐 Traducción por IA y humanos
Esta traducción fue hecha por IA guiada por humanos. 🤝
Podría tener errores al interpretar el significado original, o sonar poco natural, etc. 🤖
Puedes mejorar esta traducciónayudándonos a guiar mejor al LLM de IA.
Si necesitas tener dos aplicaciones deFastAPI independientes, cada una con su propio OpenAPI independiente y su propia interfaz de docs, puedes tener una aplicación principal y "montar" una (o más) sub-aplicación(es).
Montar una aplicaciónFastAPI¶
"Montar" significa añadir una aplicación completamente "independiente" en un path específico, que luego se encarga de manejar todo bajo ese path, con laspath operations declaradas en esa sub-aplicación.
Aplicación de nivel superior¶
Primero, crea la aplicación principal de nivel superior deFastAPI, y suspath operations:
fromfastapiimportFastAPIapp=FastAPI()@app.get("/app")defread_main():return{"message":"Hello World from main app"}subapi=FastAPI()@subapi.get("/sub")defread_sub():return{"message":"Hello World from sub API"}app.mount("/subapi",subapi)Sub-aplicación¶
Luego, crea tu sub-aplicación, y suspath operations.
Esta sub-aplicación es solo otra aplicación estándar de FastAPI, pero es la que se "montará":
fromfastapiimportFastAPIapp=FastAPI()@app.get("/app")defread_main():return{"message":"Hello World from main app"}subapi=FastAPI()@subapi.get("/sub")defread_sub():return{"message":"Hello World from sub API"}app.mount("/subapi",subapi)Montar la sub-aplicación¶
En tu aplicación de nivel superior,app, monta la sub-aplicación,subapi.
En este caso, se montará en el path/subapi:
fromfastapiimportFastAPIapp=FastAPI()@app.get("/app")defread_main():return{"message":"Hello World from main app"}subapi=FastAPI()@subapi.get("/sub")defread_sub():return{"message":"Hello World from sub API"}app.mount("/subapi",subapi)Revisa la documentación automática de la API¶
Ahora, ejecuta el comandofastapi con tu archivo:
$fastapidevmain.py<span style="color: green;">INFO</span>: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)Y abre la documentación enhttp://127.0.0.1:8000/docs.
Verás la documentación automática de la API para la aplicación principal, incluyendo solo sus propiaspath operations:

Y luego, abre la documentación para la sub-aplicación, enhttp://127.0.0.1:8000/subapi/docs.
Verás la documentación automática de la API para la sub-aplicación, incluyendo solo sus propiaspath operations, todas bajo el prefijo correcto del sub-path/subapi:

Si intentas interactuar con cualquiera de las dos interfaces de usuario, funcionarán correctamente, porque el navegador podrá comunicarse con cada aplicación o sub-aplicación específica.
Detalles Técnicos:root_path¶
Cuando montas una sub-aplicación como se describe arriba, FastAPI se encargará de comunicar el path de montaje para la sub-aplicación usando un mecanismo de la especificación ASGI llamadoroot_path.
De esa manera, la sub-aplicación sabrá usar ese prefijo de path para la interfaz de documentación.
Y la sub-aplicación también podría tener sus propias sub-aplicaciones montadas y todo funcionaría correctamente, porque FastAPI maneja todos estosroot_paths automáticamente.
Aprenderás más sobre elroot_path y cómo usarlo explícitamente en la sección sobreDetrás de un Proxy.







