Ответ 1
Вы можете изменить свой API, чтобы включить дополнительные параметры, чтобы ограничить объем данных, возвращаемых вашим приложением.
Например, вы можете добавить параметры limit
и offset
, чтобы извлечь небольшую часть. Так можно сделать разбивку на страницы в соответствии с REST. Такой запрос приведет к извлечению 10 ресурсов из коллекции сообщений с 21 по 30-е. Таким образом, вы можете запросить определенную часть огромного набора данных:
myapi.co.uk/messages?limit=10&offset=20
Другим способом уменьшить полезную нагрузку будет только запрос определенных частей представления ваших ресурсов. Вот как это делает facebook:
/joe.smith/friends?fields=id,name,picture
Помните, что при использовании любого из этих методов вы должны предоставить клиенту возможность открыть каждый из ресурсов. Вы не можете предположить, что они просто рассмотрят параметры и начнут изменять их в поисках данных. Это было бы нарушением парадигмы REST. Предоставьте им необходимые гиперссылки, чтобы избежать этого.
Я настоятельно рекомендую просмотреть эту презентацию по дизайну API RESTful apigee (вызывается скринкаст "Научите собаку ОТДЫХАТЬ" ). Здесь обсуждаются хорошие практики и четкие идеи для решения повседневных проблем.
EDIT: видео обновлено несколько раз, так как я опубликовал этот ответ, вы можете проверить 3-е издание с января 2013 года