重载源于错误GET请求的错误消息

时间:2017-02-09 11:31:38

标签: django django-rest-framework

我的观点如下:

class Foo(APIView):
    def get(self, request, format = None):
       #...

所以我的问题非常简单:如何覆盖POST请求时返回的错误消息?

1 个答案:

答案 0 :(得分:0)

首先,您需要覆盖.post()方法。根据您在视图中的实现,您想要返回错误,返回Django Rest Framework的Response而不是Django的HttpResponse

您的最终视图可能如下所示:

from rest_framework.views import APIView
from rest_framework.response import Response
from rest_framework.status import HTTP_400_BAD_REQUEST


class Foo(APIView):

    def post(self, request):
        try:
            # code that raises an error
        except:
            error_msg = {
                'error': 'Your error message here.'
            }
            return Response(
                data=error_msg, status=HTTP_400_BAD_REQUEST
            )