Django Rest Framework无法处理格式错误的JSON

时间:2014-11-21 22:03:31

标签: python json django rest django-rest-framework

我在Django Rest Framework中有以下功能:

@api_view(['GET', 'PUT'])
@permission_classes((permissions.IsAuthenticated,))
def TestView(request, app_id):
  return Response({})

它总是应该返回一个空对象的json响应,对吗?错误。如果我在此网址上有PUT个媒体类型为application/json的数据,并将其发送给格式错误的json ,那么Django会发出500响应:

ParseError at /api/v1/test-url
No exception message supplied

我觉得DRF要么提出我可以捕获的异常,要么发出400错误。事实上,文档甚至声明:

  

包装器还提供诸如返回405 Method Not之类的行为   适当时允许响应,并处理任何ParseError   访问带有格式错误的request.DATA时发生的异常   输入

那么为什么我的应用程序吐出500错误?

1 个答案:

答案 0 :(得分:0)

您可以配置custom exception handler并在那里处理ParseError。