From 4165d1cf6c71238daa00fb8704c388deecb51e0f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20S=C3=A1nchez=20Castro?= <72013291+JavierSanchezCastro@users.noreply.github.com> Date: Mon, 24 Nov 2025 01:03:14 +0100 Subject: [PATCH] Add handler for RequestMalformedError exceptions Added a new exception handler for RequestMalformedError to return a 400 status code with error details. --- fastapi/exception_handlers.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/fastapi/exception_handlers.py b/fastapi/exception_handlers.py index 475dd7bdd..446793848 100644 --- a/fastapi/exception_handlers.py +++ b/fastapi/exception_handlers.py @@ -1,5 +1,5 @@ from fastapi.encoders import jsonable_encoder -from fastapi.exceptions import RequestValidationError, WebSocketRequestValidationError +from fastapi.exceptions import RequestMalformedError, RequestValidationError, WebSocketRequestValidationError from fastapi.utils import is_body_allowed_for_status_code from fastapi.websockets import WebSocket from starlette.exceptions import HTTPException @@ -17,6 +17,15 @@ async def http_exception_handler(request: Request, exc: HTTPException) -> Respon ) +async def request_malformed_exception_handler( + request: Request, exc: RequestMalformedError +) -> JSONResponse: + return JSONResponse( + status_code=400, + content={"detail": jsonable_encoder(exc.errors())}, + ) + + async def request_validation_exception_handler( request: Request, exc: RequestValidationError ) -> JSONResponse: