В чем преимущество использования Restangular над ngResource?

ngResource ужекажется очень простым реализовать вещи с ...

Каковы преимущества / недостатки использованияRestangular надngResource?

1.1.3$resource вернет обещания и может быть реализован с помощьюпоследний пиар коммит, Будет ли в будущем оказана поддержка$resource поддержать дополнительные глаголы, которые делает Restangular? И если это произойдет, то Restangular кажется, что оно исчезнет и станет неактуальным.

 Dan Kanze15 мая 2013 г., 02:23
Зачем закрывать? Это правильный вопрос, на который должны быть даны окончательные ответы. Особенно в начале игры, когда вы пытаетесь решить, что использовать для звонков в службу. Что происходит через три месяца, когда этот парень отказывается от поддержки Restangular, потому что Google 's ngResource догнал все функции, которых ему не хватало. Тогда если мажор$http Внесены изменения в Angularjs --- вы не сможете обновить, потому что Restangualr 'жду звонков "что-то другое" и ты'ты собираешься потрошить тебярешил пойти с ".
 mgonto24 мая 2013 г., 00:47
Проверьте их здесьgithub.com/mgonto/restangular/blob/master/...
 rinogo23 мар. 2016 г., 20:54
@DanKanze: пользователи SO среднего уровня довольны такими вопросами. Это'очень расстраивает, так как тыточно не спрашиваючто лучше"... Мое единственное предложение - тщательно формулировать вопросы в будущем, чтобы не соблазнятьСубъективное гестапо " сойти на вас во всей их полноте.

Ответы на вопрос(5)

тоящее время 1.0.6). Кроме того, похоже, что Restangular выставляет больше глаголов, чем ngResource (оно выставляет PUT, OPTIONS, PATCH и т. Д.).

Если вы немне не нужны дополнительные глаголы и они находятся в нестабильной ветке AngularJS (которая включает в себя обещания для ngResource), я неНе вижу какой-либо серьезной причины использовать Restangular над ngResource.

Используйте то, что вам удобно.

 Dan Kanze15 мая 2013 г., 02:08
1.1.3$resource будет возвращать обещания и может быть реализовано с помощью последнего пиара.stackoverflow.com/questions/16429832/... Будет ли в будущем оказана поддержка$resource поддержать дополнительные глаголы? И если это произойдет, то Restangular кажется, что оно исчезнет и станет неактуальным.
 rtcherry15 мая 2013 г., 03:34
@DanKanze Я не уверен в будущей поддержке дополнительных глаголов. В большинстве случаев дополнительные глаголы не нужны, поэтому я бы не сталне ожидаю, что он будет построен в ближайшее время, но это незначит, это не победитэто случилось.
 Oddman01 июл. 2013 г., 04:37
@DanKanze - я сомневаюсь, что это станет неактуальным. Restangular обеспечивает гораздо лучшую поддержку для вложенных ресурсов, что является обязательным требованием для некоторых разработчиков. То, что Ng-ресурс не поддерживает особенно хорошо. Кроме того, ng-ресурс также не следует соглашениям RESTful, что яо котором я говорил в моем блоге.
 ardochhigh11 июн. 2014 г., 09:10
@ Хороший комментарий о вложенных ресурсах, особенно полезный для бэкэндов Rails.
Решение Вопроса

Мы создали раздел в README с отличиями от $ resource. Вы можете проверить их здесьhttps://github.com/mgonto/restangular/blob/master/README.md#differences-with-resource

В любом случае, как итог, помимо дополнительных функций и подхода, основанного на обещаниях, идея заключается в том, что Restangular также может обрабатывать все ваши URL-адреса, так что вы неЯ не должен ничего знать о них.

Предположим, что у вас есть что-то подобное для автомобилей: / users / 123 / cars / 456

В $ ресурсе Вы 'Я должен создать этот URL вручную, и вы 'Я также должен был создать объект $ resource для этого вручную. Restangular помогает вам в этомвспоминание» URL.

Так что если вы делаете в каком-то месте

Restangular.one("users", 123).get().then(function(user) {
  $scope.user = user;
});

// Some other code

//Automatically does the request to /users/123/cars as it remembers in which object you're asking it.
$scope.user.getList('cars')

Надеюсь это поможет!

 Dan Kanze24 мая 2013 г., 00:55
+1 за участие в этом. Кто лучше объяснит, тот парень, который построил это сам, ха-ха!
 surtyaar13 авг. 2014 г., 18:18
ISN»Многое из того, что в этом README устарело с более свежей версией ngresource? (т.е. использование обещаний, оформление объекта ответа через transformResponse)
 Ben Lesh13 июл. 2013 г., 19:48
как.one('users', 123) больше или меньше "зная» о вашем URL, чем'/users/123'? (просто играет дьяволас защитником) Просто кажется'/foo/123/bar/123' намного проще чем..one('foo', 123).one('bar', 123)
 youri18 сент. 2013 г., 16:35
Хорошо, но односторонний. Возможноененужности» Restangular было предложено в этой теме в связи с недавними улучшениями$resource - Я неЭто подразумевает, что это станет неактуальным любым способом, только то, что это было упомянуто. Какие-нибудь фактические недостатки или недостатки, о которых мы должны знать?
 abbood06 июн. 2014 г., 16:58
я думаю, что одно большое преимущество restrict над ngresource - это поддержка .. на самом деле. Подумайте об этом: ngresource - это всего лишь подмодуль среди многих других в angular.js ... restangular имеет свою собственную страницу github.спросил около'их на форуме angular.js .. не сделалуделять много внимания ..
 mgonto16 июл. 2013 г., 17:19
Идея заключается в том, что в какой-то момент вы просто знаете имя сущности и идентификатор. Итак, вы сначала делаете что-то ложьvar user = Restangular.one('users', 123).getList(), Позже в коде или в каком-то другом контроллере вы делаетеuser.getList('buildings'), Здесь вы просто знаете следующий тип, который является зданиями, но он запрашивает/users/123/buildings/так что ты нея должен знать полный URL все время
 Koray Güclü24 сент. 2014 г., 22:11
 mgonto24 мая 2013 г., 23:12
Спасибо :). Надеюсь этотеперь ясно. Я'Мы добавили раздел в README благодаря вам, и я получил положительные отзывы об этом, так как многие люди не сделалина самом деле осознавать основные различия, поскольку они были распределены по файлу BIIIG README. Если у вас есть какие-либо сомнения, вы можете отправить вопрос @Github :)

С RequestInterceptor довольно удобно удалять некоторые поля из объекта перед выполнением запроса. Большинство веб-сервисов REST, с которыми я сейчас работаюt ожидать идентификатор в данных объекта в запросе PUT, например, только в URL. Как правило, они неНе ожидайте дополнительных полей данных, которые не могут быть обновлены с помощью PUT (например, идентификатор или слаг, который создается путем установки заголовка и т. д.). Я обнаружил, что это просто с Restrict, пока я неЯ понял, как сделать это с помощью $ resource, но я уверен, что это возможно.

Очевидно, можно также изменить веб-сервис, чтобы просто игнорировать эти дополнительные поля, но это не всегда возможно.

который вы хотите запустить навсегда с минимальной поддержкой, я бы использовал встроенный угловой httpHttpClient кто бы ни когдая работаю над проектом, который я люблю, и яя наслаждаюсь и пытаюсь использовать все классные технологии, тогда ябуду использоватьNGX-Restangular

Также вы должны знать, что ngx-restangular работает с сервисами RESTful только в соответствии с его именем. Таким образом, для услуг, которые предоставляют SOAP, вы не сможете использоватьNGX-Restangular

https://ngx-restangular.com/

Что, как говоритсяЯ бы использовал ngx-restangular большую часть времени как я всегда стараюсь работать над проектом, который я нахожу классным и пытаюсь реализовать то, что я считаю лучшим.

Удачи!

новый читатели, как и я, интересуются этими мыслями: «

И если это произойдет, то, похоже, что Restangular исчезнет и станет нерелевантным.

Что происходит через три месяца, когда этот парень отказывается от поддержки Restangular, потому что Google 's ngResource догнал все функции, которых ему не хватало. "[

спросил 2 года назад]

По моему мнениютолько гарантия выживанияОткрытый исходный код библиотека - это сообщество, построенное вокруг него. лучшим примером будетMariaDB а такжеWebScaleSQL которые оба родились как растущая ветвь великой системы управления реляционными базами данных MySQL.

В это время написания Restricthaving 6699 stars and 727 forks сейчас движется вперед к Restangular 2.0, которое предназначено для поддержки angularJs 2.0 и ES6.

обсуждение о:https://github.com/mgonto/restangular/issues/890.предварительный просмотр первого репо:https://github.com/mgonto/restangular/tree/2.0-wipКонференция ng-europe, представленная mgonto:https://youtu.be/fWar75R1NGo

Ваш ответ на вопрос