diff --git a/fastapi/dependencies/utils.py b/fastapi/dependencies/utils.py index cee9a5ffa..2d84fd3bb 100644 --- a/fastapi/dependencies/utils.py +++ b/fastapi/dependencies/utils.py @@ -599,7 +599,9 @@ async def solve_dependencies( and dependency_overrides_provider.dependency_overrides ): original_call = sub_dependant.call - call = dependency_overrides_provider.dependency_overrides.get(original_call, original_call) + call = dependency_overrides_provider.dependency_overrides.get( + original_call, original_call + ) use_path: str = sub_dependant.path # type: ignore use_sub_dependant = get_dependant( path=use_path, diff --git a/fastapi/routing.py b/fastapi/routing.py index d70e804cc..c39f95154 100644 --- a/fastapi/routing.py +++ b/fastapi/routing.py @@ -48,7 +48,7 @@ from fastapi.exceptions import ( ResponseValidationError, WebSocketRequestValidationError, ) -from fastapi.types import DecoratedCallable, IncEx, DependencyOverridesProvider +from fastapi.types import DecoratedCallable, DependencyOverridesProvider, IncEx from fastapi.utils import ( create_cloned_field, create_model_field, diff --git a/fastapi/types.py b/fastapi/types.py index 62667c782..465861616 100644 --- a/fastapi/types.py +++ b/fastapi/types.py @@ -1,6 +1,6 @@ import types from enum import Enum -from typing import Any, Callable, Optional, TypeVar, Union, Protocol +from typing import Any, Callable, Optional, Protocol, TypeVar, Union from pydantic import BaseModel @@ -10,5 +10,6 @@ ModelNameMap = dict[Union[type[BaseModel], type[Enum]], str] IncEx = Union[set[int], set[str], dict[int, Any], dict[str, Any]] DependencyCacheKey = tuple[Optional[Callable[..., Any]], tuple[str, ...], str] + class DependencyOverridesProvider(Protocol): dependency_overrides: dict[Callable[..., Any], Any]