2014-07-08 130 views
3

我有一個API搭載Django的REST框架,我也使用默認的分頁選項:角和Django的REST框架

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

在角度方面,我使用ngResource消耗我的室內用API下面的代碼:

var task_resource = $resource('/api/task/:taskId/', {taskId:'@id'},{ 
    query : { 
    method : 'GET', 
    isArray : false 
    } 
}); 

我只是希望能夠,當用戶點擊「下一步」按鈕或向下滾動到頁面查詢「下一個頁面,直到最後的底部。我知道我只需要在「下一個」字段進行GET,但如果我這樣做,我就不會使用我定義的$資源。

我想知道角度和API這種常見模式的解決方案是什麼。

回答

0

由於'下一個'網址是絕對的,您可以簡單地使用angular的內置$ http服務來處理這些請求。像$http.get(data.next).success(function(data){});

另一種方式事情是創建自己的自定義分頁串行如下所述:http://www.django-rest-framework.org/api-guide/pagination#custom-pagination-serializers

那麼你就需要創建自己的NextPageField的版本,並使其輸出沒有域的一部分。

爲NextPageField的標準實現可以在這裏找到: https://github.com/tomchristie/django-rest-framework/blob/560f428e24c7676c660114c2daa6017ff61074ad/rest_framework/pagination.py