我有一个从CreateAPIView
Django REST框架中设置的模型序列化器继承的视图。
当我发送请求时,它返回已创建对象的JSON表示形式。
我想包装来自响应的数据,如下所示:
{'data' : { 'field1' : 'value1' ,
'field2' : value2 ,
etc.....
} ,
'errors' : None ,
'message': [{} , {}] ,
'result' : 'OK' ,
}
修改返回的数据的最佳位置在哪里?
我试图创建一个自定义渲染器,如以下问题所示:将根元素添加到json响应(django-rest-framework)中,但从未被调用。那是因为它仅与GET请求相关,而与帖子无关吗?
我认为这种结构不是很相关:
OK
因为请求的状态代码在这里为您提供此信息:200->确定,201->创建,400->错误的请求,等等。created
序列化器的方法中有一种特殊的行为,但是如果出现错误,则似乎没有数据可发送回逻辑(也许我错了)。DRF允许您使用.is_valid()
方法来验证数据,并且您可以简单地使用(例如)发送回错误信息return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
或直接使用引发异常.is_valid(raise_exception=True)
。
但是,如果您想保留此结构,则可以在您看来完成此工作。例子 :
return Response({
'data': serializer.data,
'errors': serializer.errors, # `.is_valid()` must be called
'message': [{} , {}],
'result':'OK'
})
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句