From 963afc7fe80fe50d6636157c1c95947ad1ad970f Mon Sep 17 00:00:00 2001 From: chenwj <654891551@qq.com> Date: Tue, 17 Jan 2023 16:03:56 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=BC=82=E5=B8=B8=E5=B7=A5=E5=85=B7?= =?UTF-8?q?=E7=B1=BB=E9=80=BB=E8=BE=91=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/utils/exception.py | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/src/utils/exception.py b/src/utils/exception.py index 8111da4..5e7a1ce 100644 --- a/src/utils/exception.py +++ b/src/utils/exception.py @@ -56,19 +56,27 @@ def request_validation_error_handler(req: Request, exc: RequestValidationError): not_none_err = [err["loc"][-1] for err in errors if "type_error.none.not_allowed" == err["type"]] if not_none_err: message += "字段:{} 不能为空".format(", ".join(not_none_err)) - err = dict(code=status.HTTP_400_BAD_REQUEST, message=message, details=message) - res = BaseResponse(**dict(result=None, error=err)) + + err_model = ErrorModel(code=status.HTTP_400_BAD_REQUEST, message=message, details=message) + res = BaseResponse(error=err_model) return JSONResponse(status_code=200, content=res.dict()) -def http_exception_handler(request: Request, exc: HTTPException): +def http_exception_handler(req: Request, exc: HTTPException): + """ + HTTP Exception 错误处理 + :param req: + :param exc: + :return: + """ + logger.error(f"{req.method} {req.url} , exception:{exc.detail}") if exc.status_code == 400: - err = ErrorModel(**dict(code=status.HTTP_400_BAD_REQUEST, messages=HttpCodeMsg.HTTP_400, details=exc.detail)) + err = ErrorModel(code=status.HTTP_400_BAD_REQUEST, message=exc.detail) elif exc.status_code == 401: - err = ErrorModel(**dict(code=status.HTTP_401_UNAUTHORIZED, messages=HttpCodeMsg.HTTP_401, details=exc.detail)) + err = ErrorModel(code=status.HTTP_401_UNAUTHORIZED, message=exc.detail) elif exc.status_code == 500: - err = ErrorModel(**dict(code=status.HTTP_500_INTERNAL_SERVER_ERROR, messages=HttpCodeMsg.HTTP_500, details=exc.detail)) + err = ErrorModel(code=status.HTTP_500_INTERNAL_SERVER_ERROR, message=exc.detail) else: err = None # 未定义的错误消息 - res = BaseResponse(**dict(result=None, error=err)) + res = BaseResponse(result=None, error=err) return JSONResponse(status_code=exc.status_code, content=res.dict()) \ No newline at end of file