我正在用django构建一个rest API,我正在使用postman来测试我的API,如果我的django应用程序中出现任何错误,我希望一切都很好,所以django向我发送JSON错误而不是HTML页面。有没有办法做到这一点。
rqqzpn5f1#
您需要实现自己的异常处理程序:https://www.django-rest-framework.org/api-guide/exceptions/这适用于任何类型的异常,并以您想要的格式。请注意,一些异常已经得到了很好的处理,例如序列化器和通用API,其中响应作为json发送。例如,序列化器上缺少必需的字段或验证错误,权限错误等。您也可以替换400和500个处理程序来满足您的目的。
rsl1atfo2#
方法之一是扩展django的JsonResponse类,并在捕获任何Django异常时使用它。
from django.http import JsonResponse class HttpResponseInternalServerError(JsonResponse): def __init__(self, message): super().__init__({'message' : message}, status=503)
字符串
2条答案
按热度按时间rqqzpn5f1#
您需要实现自己的异常处理程序:https://www.django-rest-framework.org/api-guide/exceptions/
这适用于任何类型的异常,并以您想要的格式。
请注意,一些异常已经得到了很好的处理,例如序列化器和通用API,其中响应作为json发送。例如,序列化器上缺少必需的字段或验证错误,权限错误等。
您也可以替换400和500个处理程序来满足您的目的。
rsl1atfo2#
方法之一是扩展django的JsonResponse类,并在捕获任何Django异常时使用它。
字符串