Estoy montando una aplicación Angular con enrutamiento con fastAPI, y todo se carga correctamente la primera vez, pero cuando actualizo la página que incluye mi enrutamiento Angular, aparece un error 404 en la ruta.
app.mount("/app", StaticFiles(directory=str("ui/"), html=True)) # this loads the app at /app/my-angular-route @app.get("/") def redirect_to_app() -> RedirectResponse: return RedirectResponse("/app/") # this route never gets called even though I expect it to when refreshing /app/my-angular-route @app.get("/app/{rest_of_path:path}") def redirect_to_app(rest_of_path) -> RedirectResponse: return RedirectResponse("/app/") Creo que cuando ve la ruta /app , automáticamente va a los archivos de montaje en lugar de mirar las rutas que he definido.
¿Hay alguna manera de verificar primero las rutas antes de redirigir a los archivos estáticos montados? ¿También es posible mantener intacto mi enrutamiento angular (es decir, recordar en qué ruta estoy) cuando actualizo la página para que siempre cargue la página actual y no se cargue en blanco o se redirija a la página de inicio?
Intenté usar la solución en este hilo pero recibo el error
TypeError: cannot unpack non-iterable coroutine objectEDITAR: Parece que pude hacer que las rutas tuvieran prioridad simplemente moviendo el montaje después de ellas, pero como era de esperar, esto está creando una llamada circular de las rutas de la aplicación llamando al montaje y luego el montaje llamando a las rutas de la aplicación. ¿Cuál es la mejor manera de señalar el montaje de la aplicación independientemente de la ruta, pero de tal manera que luego cambie a mi enrutamiento Angular en lugar del enrutamiento fastAPI?