This commit is contained in:
Javier Sánchez Castro 2025-12-16 21:09:33 +00:00 committed by GitHub
commit c9d4deb223
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 16 additions and 0 deletions

View File

@ -1388,6 +1388,10 @@ class APIRouter(routing.Router):
app.include_router(internal_router) app.include_router(internal_router)
``` ```
""" """
assert self is not router, (
"Cannot include the same APIRouter instance into itself. "
"Did you mean to include a different router?"
)
if prefix: if prefix:
assert prefix.startswith("/"), "A path prefix must start with '/'" assert prefix.startswith("/"), "A path prefix must start with '/'"
assert not prefix.endswith("/"), ( assert not prefix.endswith("/"), (

View File

@ -0,0 +1,12 @@
import pytest
from fastapi import APIRouter
def test_router_circular_import():
router = APIRouter()
with pytest.raises(
AssertionError,
match="Cannot include the same APIRouter instance into itself. Did you mean to include a different router?",
):
router.include_router(router)