Магистральная и PHP API

0

У меня есть пара вопросов о внедрении PHP api за базовым клиентом.

PHP api, который я пишу, должен быть RESTful, и результат работает нормально с запросами GET, PUT, POST и DELETE.

Однако использование API значительно расширилось, и в результате мы хотим оптимизировать запросы.

Мы можем собрать проекты, выполнив следующие действия на стороне клиента,

var projects = new App.Collections.Projects();
projects.fetch({ reset: true });

На данный момент стоит отметить, что проект может иметь один из 4 статусов, архивированных, ожидающих, активных, выполненных.

Это запускает запрос GET. http://app.com/projects возвращает все проекты для пользователя, которого пользователь, которого мы используем, возвращает 1200 проектов (каждый проект представляет собой довольно большой объем данных). Это приводит к тому, что у PHP заканчивается память.

Мы хотим оптимизировать запрос, поэтому вместо запроса данных в одном блоке он запрашивает данные в 4 раза.

т.е. Получить все незавершенные проекты - затем получить все завершенные проекты и т.д.

Сначала нам нужно создать коллекцию для каждого статуса проекта, затем запустить выборку для каждого состояния, а затем объединить результаты в одну коллекцию, похоже ли это как разумный вариант?

Это противоречит анализу REST или использованию базовых моделей и коллекций?

Теги:
rest
backbone.js

1 ответ

0

Существует несколько способов достижения этого. Тот, который сейчас приходит в голову, состоит в том, чтобы модифицировать сервер для обработки параметра запроса say status а затем передать status при извлечении коллекции.

var projects = new App.Collections.Projects();
projects.fetch({
  reset: true,
  data:{ status : 'ACTIVE'} 
  }).done(function(){
    projects.fetch({
      data : { status: 'ARCHIVED'},
      remove:false
      }).done(function(){
          projects.fetch({
            remove:false,
            data : {status:'PENDING'}
          });
      })
});

Передача параметров запроса в сервер REST совершенно прекрасна, и ничего против.

Рекомендации:

http://backbonejs.org/#Collection-fetch

qaru.site/questions/684561/...

Ещё вопросы

Сообщество Overcoder
Наверх
Меню