2014-07-08 2 views
3
나는 API는 장고 나머지 프레임 워크에 의해 제공하고 또한 기본 페이지 매김 옵션을 사용

: 나는 다음과 같은 코드 사랑의 내 API를 소비하는 ngResource을 사용하고 각 측면에서각도 및 장고 나머지 프레임 워크

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

을 : 난 그냥 할 수 있도록하려면

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

, 사용자가 '다음'버튼을 클릭하거나 끝날 때까지 '다음'페이지를 조회하는 페이지 하단으로 스크롤 할 때. "next"필드 만 가져야한다는 것을 알지만, 그렇게한다면 정의한 $ 리소스를 사용하지 않을 것입니다.

각도 및 API와 같은 일반적인 패턴에 대한 해결책이 무엇일까 궁금합니다.

답변

0

'다음'URL은 절대 경로이므로 angle의 기본 제공 $ 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

관련 문제