如何将所有Django错误作为JSON数据发送

lfapxunr  于 12个月前  发布在  Go
关注(0)|答案(2)|浏览(100)

我正在用django构建一个rest API,我正在使用postman来测试我的API,如果我的django应用程序中出现任何错误,我希望一切都很好,所以django向我发送JSON错误而不是HTML页面。有没有办法做到这一点。

rqqzpn5f

rqqzpn5f1#

您需要实现自己的异常处理程序:https://www.django-rest-framework.org/api-guide/exceptions/
这适用于任何类型的异常,并以您想要的格式。
请注意,一些异常已经得到了很好的处理,例如序列化器和通用API,其中响应作为json发送。例如,序列化器上缺少必需的字段或验证错误,权限错误等。
您也可以替换400和500个处理程序来满足您的目的。

rsl1atfo

rsl1atfo2#

方法之一是扩展django的JsonResponse类,并在捕获任何Django异常时使用它。

from django.http import JsonResponse
class HttpResponseInternalServerError(JsonResponse):
  def __init__(self, message):
    super().__init__({'message' : message}, status=503)

字符串

相关问题