fix: 异常工具类逻辑修改

This commit is contained in:
chenwj 2023-01-17 16:03:56 +08:00
parent 924b0b49c7
commit 963afc7fe8
1 changed files with 15 additions and 7 deletions

View File

@ -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())