From 6c2cfa610305ee18d096009f1aad1a170435717f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B8=AD=E9=98=B3=E9=98=B3?= Date: Wed, 25 Mar 2026 17:40:18 +0800 Subject: [PATCH] feat: add more error message in api --- src/memos/api/exceptions.py | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/src/memos/api/exceptions.py b/src/memos/api/exceptions.py index 10a14b4d1..15644113c 100644 --- a/src/memos/api/exceptions.py +++ b/src/memos/api/exceptions.py @@ -14,13 +14,26 @@ class APIExceptionHandler: @staticmethod async def validation_error_handler(request: Request, exc: RequestValidationError): """Handle request validation errors.""" - logger.error(f"Validation error: {exc.errors()}") + errors = exc.errors() + path = request.url.path + method = request.method + + readable_errors = [] + for err in errors: + loc = " -> ".join(str(loc_i) for loc_i in err.get("loc", [])) + readable_errors.append( + f"[{loc}] {err.get('msg', 'unknown error')} (type: {err.get('type', 'unknown')})" + ) + + logger.error( + f"Validation error on {method} {path}: {readable_errors}, raw errors: {errors}" + ) return JSONResponse( status_code=422, content={ "code": 422, - "message": "Parameter validation error", - "detail": exc.errors(), + "message": f"Parameter validation error on {method} {path}: {'; '.join(readable_errors)}", + "detail": errors, "data": None, }, )