2015-04-24 2 views
0

все мои остальные API для запроса (например, /clubs) возвращает объект, который имеет такой вид:

{ 
"total": 10, 
"results": [...] 
} 

$resourece.query ожидают массив.

Каков правильный способ анализа этого ответа?

  • Должен ли я переопределить в определении ресурса значение запроса isArray: false? (если я установил функции для переопределения query, нужно ли мне повторно установить все другие методы, такие как getsave и т. д.?)
  • Должен ли я создать parseFunction для синтаксического анализа результата и возврата массива? если да, то как?
  • Как я могу создать свой ресурс таким образом, что мне не нужно копировать код для каждого ресурса? в основном расширяя текущий объект $resource, чтобы переопределить конфигурацию или функцию синтаксического анализа.

ответ

2

Что вы получать обратно объект, а не массив, поэтому используйте $resource.get, то вы можете получить доступ к массиву результатов от объекта

+0

Но с получай я должен получить один клуб. И у меня есть URL-адрес ресурса как/clubs /: Id. И на самом деле я хотел бы иметь два разных вызова вместо ha в одной функции get для двух porpouses. – EsseTi

+0

Если вы можете изменить то, что API возвращает, то вы должны изменить его как просто массив, а не массив, завернутый в объект. Если вы не можете изменить то, что API возвращает вам, вам придется либо добавить новый метод для обработки запросов, либо переопределить '$ resource.query'. Это больше работает. –

+0

Но разве не существует расширения класса '$ resource', создающего класс' myResource', который не ожидает массив? как я могу расширить модуль/класс angualr? в любом случае он работает с 'get()' он просто мне не нравится идея использовать 'get' для получения всего результата, а также для datails. – EsseTi

Смежные вопросы