add handler for RequestValidationError
This commit is contained in:
parent
f47772d528
commit
b5eb8b7ee8
|
@ -184,10 +184,32 @@ def register_exception_handlers(app: FastAPI):
|
||||||
)
|
)
|
||||||
|
|
||||||
return JSONResponse(
|
return JSONResponse(
|
||||||
status_code=HTTPStatus.BAD_REQUEST,
|
status_code=HTTPStatus.NO_CONTENT,
|
||||||
content={"detail": exc_str},
|
content={"detail": exc_str},
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@app.exception_handler(RequestValidationError)
|
||||||
|
async def validation_exception_handler(
|
||||||
|
request: Request, exc: RequestValidationError
|
||||||
|
):
|
||||||
|
# Only the browser sends "text/html" request
|
||||||
|
# not fail proof, but everything else get's a JSON response
|
||||||
|
|
||||||
|
if (
|
||||||
|
request.headers
|
||||||
|
and "accept" in request.headers
|
||||||
|
and "text/html" in request.headers["accept"]
|
||||||
|
):
|
||||||
|
return template_renderer().TemplateResponse(
|
||||||
|
"error.html",
|
||||||
|
{"request": request, "err": f"{exc.errors()} is not a valid UUID."},
|
||||||
|
)
|
||||||
|
|
||||||
|
return JSONResponse(
|
||||||
|
status_code=HTTPStatus.NO_CONTENT,
|
||||||
|
content={"detail": exc.errors()},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
def configure_logger() -> None:
|
def configure_logger() -> None:
|
||||||
logger.remove()
|
logger.remove()
|
||||||
|
|
Loading…
Reference in New Issue
Block a user