CakePHP JSON API содержательный вопрос - PullRequest
1 голос
/ 23 августа 2011

сейчас у меня есть контроллеры / действия, которые выполняют стандартный поиск модели / связанных данных модели.В настоящее время мои действия просто передают переменные представлениям, чтобы выбрать и выбрать, какие значения отображать пользователю через HTML.

Я хочу расширить и повторно использовать эти функции для случая, когда мобильное устройство выполняет вызовзахватите версию данных в формате JSON.Я использую Router: parseExtensions ("json"), и все работает нормально.

Мой главный вопрос - как обрабатывать размер данных.Прямо сейчас даже модель User имеет много, много связанных моделей и рекурсивных отношений.На данный момент я не использую контейнер для вырезания ненужных данных перед тем, как передать их представлению, так как представление будет принимать нужные элементы, и это не повлияет на размер HTML.

Нодля моих представлений JSON я просто форматирую и возвращаю все это, что делает его чрезвычайно большим.Мой текущий мыслительный процесс состоит в том, что мне просто нужно использовать его в случае JSON, но я надеюсь, что есть более элегантное решение?Или это простой способ сделать это?

Спасибо!

1 Ответ

0 голосов
/ 23 августа 2011

На самом деле, использование сдерживаемой и точной настройки вашего запроса - очень элегантное решение.Даже если ваше представление не использует фактических данных, вы добавляете ненужную нагрузку на свою базу данных, добавляя ненужные данные / объединения.

Попробуйте ограничить запрос и отношения с помощью Содержимое и тонкая настройка отношений в ваших моделях и вызовах пагинатора.

Также рекомендуется переместить большинство ваших вызовов поиска на слой модели.Их можно будет многократно использовать, проще тестировать и в целом больше Cake- ish .

...