Dan*_*nze 133 javascript angularjs ngresource restangular
ngResource已经似乎很简单,以落实事情...
使用Restangular over ngResource有什么优点/缺点?
1.1.3 $resource将返回promises并且可以使用最新的PR提交来实现.是否会提供未来支持$resource以支持Restangular所做的其他动词?如果发生这种情况,Restangular似乎会消失并变得不可靠.
mgo*_*nto 232
我是Restangular的创造者.
我在README上创建了一个与$ resource有区别的部分.你可以在这里查看它们https://github.com/mgonto/restangular/blob/master/README.md#differences-with-resource
无论如何,总而言之,除了附加功能和基于承诺的方法之外,我们的想法是Restangular还可以处理您的所有URL,这样您就不必了解它们.
假设你有类似汽车的东西:/ users/123/cars/456
在$ resource中,您必须手动构造该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')
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助!
小智 8
我发现Restangular的RequestInterceptor非常方便在发出Request之前从对象中删除一些字段.我目前正在使用的大多数REST Web服务不希望PUT请求中的对象数据中的id,例如,仅在url中.通常,他们不期望PUT无法更新的额外数据字段(如id,或通过设置标题等生成的slug).我发现这对Restangular来说很简单,而我还没弄清楚如何以干净的方式使用$ resource,但我确信它可能以某种方式.
显然,人们也可以改变web服务,只是忽略那些额外的字段,但这并不总是可行的.