diff --git a/api/src/core/exception_handlers.py b/api/src/core/exception_handlers.py index f7643c2..42a585b 100644 --- a/api/src/core/exception_handlers.py +++ b/api/src/core/exception_handlers.py @@ -1,4 +1,5 @@ from fastapi import FastAPI, HTTPException, Request, status +from fastapi.encoders import jsonable_encoder from fastapi.exceptions import RequestValidationError from fastapi.responses import JSONResponse from sqlalchemy.exc import IntegrityError, SQLAlchemyError @@ -8,8 +9,9 @@ def register_exception_handlers(app: FastAPI) -> None: @app.exception_handler(RequestValidationError) async def request_validation_exception_handler(_: Request, exc: RequestValidationError): return JSONResponse( - status_code=status.HTTP_422_UNPROCESSABLE_ENTITY, - content={"detail": exc.errors()}, + status_code=status.HTTP_422_UNPROCESSABLE_CONTENT, + # ctx ошибки может содержать исключение (ValueError из валидатора) — сериализуем через jsonable_encoder + content={"detail": jsonable_encoder(exc.errors())}, ) @app.exception_handler(IntegrityError)