2 回答
TA贡献1803条经验 获得超6个赞
您可以validate_message按如下方式覆盖该方法:
from rest_framework.exceptions import ValidationError
def validate_message(self, message):
if not message:
raise ValidationError('error message here')
return message
请注意, ValidationError 将返回一个400 Bad Request状态代码,这在POST数据中缺少必填字段时更好
TA贡献1796条经验 获得超10个赞
首先,您需要添加一个自定义异常类,如下所示,
from rest_framework import exceptions
from rest_framework import status
class CustomAPIException(exceptions.APIException):
status_code = status.HTTP_403_FORBIDDEN
default_code = 'error'
def __init__(self, detail, status_code=None):
self.detail = detail
if status_code is not None:
self.status_code = status_code
并在您想要的任何地方使用该课程,
if some_condition:
raise CustomAPIException({"some": "data"})
这个特定类的最大优点之一是您可以通过指定status_code参数Ex来引发带有自定义状态代码的 API 异常
。
if some_condition:
raise CustomAPIException({"some": "data"},status_code=status.HTTP_409_CONFLICT)
添加回答
举报