我目前正在尝试创建一个API,它使用django rest框架返回对象列表,其中包含来自url参数的page和limit per page输入,我已经在API视图中使用自定义分页完成了这项工作
class PropertyListPagination(PageNumberPagination):
page_size = 20
page_size_query_param = 'page_size'
def get_paginated_response(self, data):
return Response({
'code': 200,
'data': data
})
@api_view(['GET'])
def property_list(request):
if request.method == 'GET':
paginator = PropertyListPagination()
queryset = Property.objects.all()
context = paginator.paginate_queryset(queryset, request)
serializer = PropertySerializer(context, many=True)
return paginator.get_paginated_response(serializer.data)
当前,如果一个页面超出范围(例如,如果我只有2个对象,并且我将我的url设置为page=3和page_size=1,那么它应该超出总对象的范围),那么在响应中,它将返回404状态,并且在正文中:
^{pr2}$有没有办法自定义它返回400状态和下面的json主体?在
{
"code": 400,
"error": "Page out of range"
}
谢谢你
目前没有回答
相关问题 更多 >
编程相关推荐