Angular和Django Rest Framework

3

我有一个由Django rest framework提供支持的API,同时我也使用默认的分页选项:

{
    "count": 40, 
    "next": "http://127.0.0.1:8000/api/task/?page=2", 
    "previous": null, 
    "results": [{},{}...]
}

在Angular端,我正在使用ngResource来使用以下代码消耗我的API:
var task_resource = $resource('/api/task/:taskId/', {taskId:'@id'},{
  query : {
    method : 'GET',
    isArray : false
  }
});

当用户点击“下一页”按钮或滚动到页面底部时,我希望能够查询“下一页”直至到达最后一页。我知道只需要在“下一页”字段上进行GET操作,但如果这样做,我将无法使用我定义的$resource。

我想知道在Angular和API中如何解决这种常见模式的问题。

1个回答

0

由于“next”网址是绝对的,您可以简单地使用Angular内置的$http服务进行这些请求。像这样:$http.get(data.next).success(function(data){});

另一种方法是创建自己的自定义分页序列化程序,如此描述:http://www.django-rest-framework.org/api-guide/pagination#custom-pagination-serializers

然后,您需要创建自己版本的NextPageField,并使其输出不包含域部分。

下一页字段的标准实现可以在此处找到: https://github.com/tomchristie/django-rest-framework/blob/560f428e24c7676c660114c2daa6017ff61074ad/rest_framework/pagination.py


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接