API должен поддерживать разбиение на страницы в том смысле, что он должен иметь возможность отвечать на запросы с фрагментами данных, а не сбрасывать все данные за один раз.
Например:
Для страницы 1: your.api.endpoint/your/resource/path/countries?offset=0&pageSize=50
Для страницы 4: your.api.endpoint/your/resource/path/countries?offset=200&pageSize=50
Вы можете создать свои параметры URL для нумерации страниц, как хотите, например, /countries?pageNo=4&pageSize=50
, /countries?from=200&to=250
и т. Д.
Примечание:
Когда вы реализуете нумерацию на стороне сервера, вам также необходимо реализовать сортировку и фильтрацию на стороне сервера;это связано с тем, что при разбивке на серверы клиент может видеть только 1 страницу данных, поэтому сортировка или фильтрация будут неточными.
РЕДАКТИРОВАТЬ, чтобы показать пример ложного ответа API
В вашем распоряжении может быть что-то вроде этого:
return $http({
method: 'GET',
url: 'your.api.endpoint/your/resource/path/countries?offset=200&pageSize=50'
})
И вы замените его на:
var pageOfData = { ... }; // Mocked data here.
return $q(function (resolve, reject) {
resolve(pageOfData);
});