我的观点如下:
class Foo(APIView):
def get(self, request, format = None):
#...
所以我的问题非常简单:如何覆盖POST请求时返回的错误消息?
答案 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
)