admin管理员组文章数量:1134232
ngResource
already seems really simple to implement things with...
What are the Advantages / Disadvantages of using Restangular over ngResource?
1.1.3 $resource
will return promises and can be implimented using latest PR commit. Will future support be offered to $resource
to support additional verbs that Restangular does? And if that happens Restangular seems like it will disappear and become irrelivant.
ngResource
already seems really simple to implement things with...
What are the Advantages / Disadvantages of using Restangular over ngResource?
1.1.3 $resource
will return promises and can be implimented using latest PR commit. Will future support be offered to $resource
to support additional verbs that Restangular does? And if that happens Restangular seems like it will disappear and become irrelivant.
5 Answers
Reset to default 230I'm the creator of Restangular.
I've created a section on the README with the differences against $resource. You can check them out here https://github.com/mgonto/restangular/blob/master/README.md#differences-with-resource
Anyway, as a sum up, besides the additional features and the promise based approach, the idea is that Restangular can also handle all of your URLs, so that you don't have to know anything about them.
Suppose that you have something like this for cars : /users/123/cars/456
In $resource, You'd have to construct that URL manually and you'd also have to construct the $resource object for this manually. Restangular helps you in this by "remembering" the URLs.
So if you do in some place
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')
I found Restangular's RequestInterceptor quite handy to remove some fields from the object before making the Request. Most REST webservices i am currently working with don't expect the id in the object data in a PUT request for example, just in the url. Generally they don't expect extra data fields that can not be updated by PUT (like the id, or a slug which is generated by setting the title etc). I found this to be straightforward with Restangular while i haven't figured out how to do it with $resource in a clean way, but i am sure its possible somehow.
Obviously one could also change the webservice to just ignore those extra fields, but thats not always possible.
ngResource does not return promises in the latest stable release (currently 1.0.6). Additionally, it looks like Restangular exposes more verbs than ngResource (it exposes PUT, OPTIONS, PATCH, etc).
If you don't need the additional verbs and are on the unstable branch of AngularJS (which includes promises for ngResource), I don't see any major reason to use Restangular over ngResource.
Use whatever you feel comfortable with.
As a following up to the above answers and for new readers, like me, interested in those thoughts :
"And if that happens Restangular seems like it will disappear and become irrelivant."
"What happens in three months when this guy drops support for Restangular because Google's ngResource caught up to all the features it was missing."
- [ asked 2 years ago ]
In my opinion the only guarantee to the survive of an open-source library is the community built around it. a best example would be mariaDB and WebScaleSQL which both of them were born as a growing fork to the great relational database management system MySQL.
At this writing time Restangular having 6699 stars and 727 forks
is now moving forward to Restangular 2.0 which is meant to support angularJs 2.0 and ES6.
- discussion about : https://github.com/mgonto/restangular/issues/890.
- first repo preview : https://github.com/mgonto/restangular/tree/2.0-wip
- ng-europe conference presented by mgonto : https://youtu.be/fWar75R1NGo
For quick simple website that you want to run for ever with the minimum support I would use the built-in angular http HttpClient whoever when I'm working on a project that I love and I'm enjoying and trying to use all cool technologies then I'll use Ngx-Restangular
Also you should know that ngx-restangular work with RESTful services only as the name suggest. So for services that provide SOAP you will not be able to use Ngx-Restangular
https://ngx-restangular.com/
That being said I would use ngx-restangular most the time as I always try to work on project that I find cool and try to implement what I think is best.
Best of luck!
本文标签: javascriptWhat is the advantage of using Restangular over ngResourceStack Overflow
版权声明:本文标题:javascript - What is the advantage of using Restangular over ngResource? - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1736834129a1954825.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
$http
release changes are made to angularjs --- you wont be able to upgrade because Restangualr's service calls will be expecting "something else" and you're going to end up gutting this framework you "decided to go with". – Dan Kanze Commented May 15, 2013 at 0:23