Route discovery fails when include_router is called with an indirect router reference
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 52/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Tranquilo
- Stack tecnológico
- fastapi, python, typescript, vscode
Línea de trabajo
Reproduce el problema con los ejemplos main.py e items.py, comparando las llamadas directas e indirectas a include_router mientras revisas los registros de la extensión. Sigue el proceso de descubrimiento de la aplicación FastAPI y la ruta de resolución de include_router; después, verifica que las rutas del router items incluido aparezcan en el explorador de rutas para ambos ejemplos indirectos.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Description
The FastAPI extension fails to discover routes when app.include_router() is called with a router reference that is not a direct import name.
In the example only the route defined directly in main.py (GET /) is visible in the path explorer. All routes from the included router items are missing.
✅ Working example
❌ Using indirect router reference
Extension logs
2026-04-22 15:00:03.012 [info] Discovering FastAPI apps in 1 workspace folder(s)...
2026-04-22 15:00:03.041 [info] Found 1 candidate FastAPI file(s) in fastapi-extension
2026-04-22 15:00:03.044 [info] Analyzed "file://.../main.py": 1 routes, 1 routers, 1 include_router calls
2026-04-22 15:00:03.044 [info] Resolving include_router: router (prefix: {prefix})
2026-04-22 15:00:03.044 [info] No import found for router reference: router
2026-04-22 15:00:03.044 [info] Found 1 FastAPI app(s) with 1 route(s) in fastapi-extension
Repository link (if open source)
No response
Project structure
fastapi-extension/
├── items.py
└── main.py
FastAPI app and router setup
from fastapi import APIRouter, FastAPI
from items import router as items_router
app = FastAPI()
# Case 1 : Working
# app.include_router(items_router, prefix="/items", tags=["items"])
# Case 2 : Not working
routers: list[tuple[APIRouter, str, str]] = [
(items_router, "/items", "items"),
]
for router, prefix, tag in routers:
app.include_router(router, prefix=prefix, tags=[tag])
# Case 3 : Not working
# routers: list[tuple[APIRouter, str, str]] = [
# (items_router, "/items", "items"),
# ]
# app.include_router(routers[0][0], prefix=routers[0][1], tags=[routers[0][2]])
@app.get("/")
async def root():
return {"message": "Hello World"}
VS Code version
1.116.0
FastAPI extension version
0.2.0
Python version
3.11.11
FastAPI version
0.115.12
Operating system
macOS 26.3.1 (a) (25D771280a)
- Lenguaje dominante
- TypeScript
- Estrellas
- 337
- Forks
- 28
- Merge medio
- 1 h 16 min
- PR fusionados (30 d)
- 4
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
QuantumNous/new-api#7839 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
Los mantenedores suelen responder en 1 día
-
bug p2 triaged
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
getpaseo/paseo#7071 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
test: make the #3408 Claude OAuth token fixture obviously fake so secret scanners stop flagging itAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
code-yeongyu/senpi#3436 ·
Los mantenedores suelen responder en 1 día
-
community first-timers-only good first issue hacktoberfest help wanted low hanging fruit up-for-grabs
Dificultad 1/5 Menos de una hora Aptitud para principiantes 78/100
lingdojo/kana-dojo#32505 · 1 comentario · 5 reacciones ·
Los mantenedores suelen responder en 1 día