与ngResource相比,使用RESTRIAN有什么好处?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (33)

ngResource已经看起来很简单,用...来实现...

使用Restangular over ngResource的优点/缺点是什么?

提问于
用户回答回答于

我是Restangular的创造者。

我在README上创建了一个部分,其中针对$ resource的区别。你可以在这里查看https://github.com/mgonto/restangular/blob/master/README.md#differences-with-resource

无论如何,作为总结,除了附加功能和基于承诺的方法之外,这个想法是Restangular还可以处理所有的URL,这样你就不必知道它们的任何内容。

假设你有这样的汽车:/用户/ 123 /汽车/ 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')
用户回答回答于

我发现Restangular的RequestInterceptor在创建请求之前从对象中移除一些字段非常方便。我目前正在使用的大多数REST Web服务都不希望PUT请求中的对象数据中的id例如只在url中。通常他们不希望PUT无法更新的额外数据字段(如id,或者通过设置标题等生成的slug)。我发现这对Restangular来说很简单,但我还没有弄清楚如何以干净的方式使用$ resource来完成它,但我确信它可能以某种方式实现。

显然,人们也可以改变web服务来忽略这些额外的域,但这并不总是可能的。

扫码关注云+社区