diff --git a/fastapi/applications.py b/fastapi/applications.py index 0a47699ae..9e9460041 100644 --- a/fastapi/applications.py +++ b/fastapi/applications.py @@ -18,10 +18,15 @@ from fastapi import routing from fastapi.datastructures import Default, DefaultPlaceholder from fastapi.exception_handlers import ( http_exception_handler, + request_malformed_exception_handler request_validation_exception_handler, websocket_request_validation_exception_handler, ) -from fastapi.exceptions import RequestValidationError, WebSocketRequestValidationError +from fastapi.exceptions import ( + RequestMalformedError, + RequestValidationError, + WebSocketRequestValidationError +) from fastapi.logger import logger from fastapi.middleware.asyncexitstack import AsyncExitStackMiddleware from fastapi.openapi.docs import ( @@ -979,6 +984,9 @@ class FastAPI(Starlette): Any, Callable[[Request, Any], Union[Response, Awaitable[Response]]] ] = {} if exception_handlers is None else dict(exception_handlers) self.exception_handlers.setdefault(HTTPException, http_exception_handler) + self.exception_handlers.setdefault( + RequestMalformedError, request_malformed_exception_handler + ) self.exception_handlers.setdefault( RequestValidationError, request_validation_exception_handler )