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