diff --git a/fastapi/routing.py b/fastapi/routing.py index c34a54733..6dd7d0fe4 100644 --- a/fastapi/routing.py +++ b/fastapi/routing.py @@ -211,6 +211,7 @@ def get_request_handler( is_coroutine = ( asyncio.iscoroutinefunction(dependant.call) or callable(dependant.call) + and hasattr(dependant.call, "__call__") and inspect.iscoroutinefunction(dependant.call.__call__) ) is_body_form = body_field and isinstance(body_field.field_info, params.Form)