INNER CODE UNIT · Python

_build_dependency_only_callable

JasperSui/fastapi-injectable · src/fastapi_injectable/main.py:99

def _build_dependency_only_callable(
    func: Callable[..., Any],
) -> Callable[..., Any]:
    """Create a callable with only Depends() parameters in its signature.

    This prevents FastAPI's get_dependant from trying to parse non-dependency
    parameters (e.g. ``self``, Celery's bound ``task``) as query/body params,
    which would fail for types that are not valid Pydantic fields.
    """
    sig = inspect.signature(func)
    dep_params = [p for p in sig.parameters.values() if _has_depends(p)]

    # If all parameters are dependencies, no filtering needed
    if len(dep_params) == len(sig.parameters):
        return func

    def stub() -> None: ...  # pragma: no cover

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…