Skip to content

Routes not detected by FastAPI Extension when included via nested APIRouter in a module and instantiated in another. #217

Description

@jmayoral-ipronics

Description

This is the same issue as the one declared here but when a shared base router is declared in a module and reused in other places (different modules).

Extension logs

Discovering FastAPI apps in 1 workspace folder(s)...
Found 1 candidate FastAPI file(s) in testing_project
Analyzed "file:///.../src/main.py": 0 routes, 1 routers, 15 include_router calls
Resolving include_router: test_service.router (prefix: none)
Analyzed "file:///.../services/test/test_service.py": 7 routes, 0 routers, 0 include_router calls
...
Found 1 FastAPI app(s) with 1 route(s) in testing_project

Repository link (if open source)

No response

Project structure

src/
├── main.py                          # app = FastAPI(); app.include_router(test_service.router)
├── auth/
│   └── testing_router.py          # class ProtectedRouter(APIRouter) defined here
└── services/
    └── test/
        └── test_service.py     # imports ProtectedRouter, instantiates + decorates routes

FastAPI app and router setup

`auth/testing_router.py:`


from typing import Any
from fastapi import APIRouter
from auth.dependencies import read_dependency

class ProtectedRouter(APIRouter):
    """Router that injects a read permission requirement on every endpoint"""

    def __init__(self, *args: Any, **kwargs: Any) -> None:
        existing = list(kwargs.pop("dependencies", None) or [])
        kwargs["dependencies"] = [read_dependency] + existing
        super().__init__(*args, **kwargs)


`main.py:`


from fastapi import FastAPI
from services.test import test_service

app = FastAPI()
app.include_router(test_service.router)

pyproject.toml [tool.fastapi] section (if present)

VS Code version

1.108.2

FastAPI extension version

0.3.2

Python version

3.12.3

FastAPI version

0.139.0

Operating system

Ubuntu (Linux 6.17.0-23-generic)

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions