Сначала мы не знали AngularJS, поэтому не использовали $resource.
Теперь мы знаем AngularJS, поэтому не используем $resource.
То что отличает Restangular от $resource:
- Он использует промисы, вместо “волшебного” заполнения объектов
- именно поэтому мы можем использовать совместно с $routeProvider.resolve
- Нет проблем $resourse:
- со слешами в конце URL
- фильтрация входящей информации (например:при запросе списка допускает только массив )
- Поддерживает ВСЕ HTTP методы ( PATCH, HEADER и другие)
- Поддерживает ETags
- Поддерживает элементы ссылающиеся на себя
- Вам не нужно создавать $resource объект каждый раз
- Вам не нужно запоминать и вводить каждый раз полный URL либо какой-то шаблон
- Поддерживает вложенные REST ресурсы (то есть от одного ресурса мы можем легко получить вложенный)
- Позволяет расширять объекты своими собственными методами
- Поддерживает “обернутые” ответы сервера, когда данные лежат не на корневом уровне, а во вложенном свойстве. Мы легко можем разрулить ситуацию используя addResponseInterceptor
Было взято с оф доки.
Пример использования Restangular тут.