在 API - $http 或 $resource 上仅使用 GET 请求
Using GET only requests on API - $http or $resource
如果我所做的只是从 API 发出基本的 GET 请求(不是完整的 CRUD),那么使用 $http 还是 $resource 更好?
我看到 $resource 在后台使用 $http 那么这是否有点过分了?使用 $resource 比 $http 编写的代码更精简,尤其是当我添加额外的 GET 请求时。下面是我使用两者的示例。试图确定哪个更好地向前推进。我读到的一切似乎都指向两个方向。是否有一个普遍接受的共识?
$资源
/* Data Factory */
myApp.factory('myServ', ['$resource', '$cacheFactory',
function($resource) {
return {
Events: $resource('api/v1/events/:slug', {}, {slug: '@slug', cache: true, method: 'get'})
};
}]);
$http:
/* Data Factory */
angular.module('myFactory', [])
.factory('eventRepo', function($http) {
return {
Events: function(callback) {
$http({
method: 'GET',
url: 'api/v1/events',
cache: true
}).success(callback);
}
};
});
没有总体共识,简短的答案取决于您的需要.....
我发现随着我们的 AngularJs 应用程序的增长,服务消费变得更加复杂。一种可扩展且灵活的可重用方法始终是一个很好的经验法则。对服务架构的良好投资对使应用程序更易于实施、维护和单元测试大有帮助。我建议您查看 John Papa 的服务实施风格指南。
https://github.com/johnpapa/angular-styleguide
http://sauceio.com/index.php/2014/07/angularjs-data-models-http-vs-resource-vs-restangular/
$http 内置于 Angular 中,因此不需要在外部依赖项中加载额外的开销。 $http 适用于快速检索不需要任何特定结构或复杂行为的服务器端数据。为简单起见,最好将它直接注入到您的控制器中。
$resouce 适用于比 $http 稍微复杂的情况。当您拥有非常结构化的数据时这很好,但您计划在交付 API 响应之前在服务器端执行大部分处理、关系和其他操作。客户端的任何自定义行为都需要大量样板文件。
如果我所做的只是从 API 发出基本的 GET 请求(不是完整的 CRUD),那么使用 $http 还是 $resource 更好?
我看到 $resource 在后台使用 $http 那么这是否有点过分了?使用 $resource 比 $http 编写的代码更精简,尤其是当我添加额外的 GET 请求时。下面是我使用两者的示例。试图确定哪个更好地向前推进。我读到的一切似乎都指向两个方向。是否有一个普遍接受的共识?
$资源
/* Data Factory */
myApp.factory('myServ', ['$resource', '$cacheFactory',
function($resource) {
return {
Events: $resource('api/v1/events/:slug', {}, {slug: '@slug', cache: true, method: 'get'})
};
}]);
$http:
/* Data Factory */
angular.module('myFactory', [])
.factory('eventRepo', function($http) {
return {
Events: function(callback) {
$http({
method: 'GET',
url: 'api/v1/events',
cache: true
}).success(callback);
}
};
});
没有总体共识,简短的答案取决于您的需要.....
我发现随着我们的 AngularJs 应用程序的增长,服务消费变得更加复杂。一种可扩展且灵活的可重用方法始终是一个很好的经验法则。对服务架构的良好投资对使应用程序更易于实施、维护和单元测试大有帮助。我建议您查看 John Papa 的服务实施风格指南。
https://github.com/johnpapa/angular-styleguide
http://sauceio.com/index.php/2014/07/angularjs-data-models-http-vs-resource-vs-restangular/
$http 内置于 Angular 中,因此不需要在外部依赖项中加载额外的开销。 $http 适用于快速检索不需要任何特定结构或复杂行为的服务器端数据。为简单起见,最好将它直接注入到您的控制器中。
$resouce 适用于比 $http 稍微复杂的情况。当您拥有非常结构化的数据时这很好,但您计划在交付 API 响应之前在服务器端执行大部分处理、关系和其他操作。客户端的任何自定义行为都需要大量样板文件。