$http
汎用の AJAX 呼び出しを行います。これは一般的に、 RESTful API と非RESTful APIを含めることができることを意味します。
そのRESTful部分に$resource
特化しています。
プログラマーが作成したランダムな URL ではなく、URL がより適切に編成されているため、 Restful Apiが近年普及するようになりました。
RESTful APIを使用して URL を作成すると、次のようになります/api/cars/:carId
。
$resource
データを取得する方法
angular.module('myApp', ['ngResource'])
// Service
.factory('FooService', ['$resource', function($resource) {
return $resource('/api/cars/:carId')
}]);
// Controller
.controller('MainController', ['FooService', function(FooService){
var self = this;
self.cars = FooService.query();
self.myCar = FooService.get('123');
}]);
これにより、、、、メソッドが自動的に付随するリソース オブジェクトが得られます。get
save
query
remove
delete
$http
データを取得する方法
angular.module('myApp', [])
// Service
.factory('FooService', ['$http', function($http){
return {
query: function(){
return $http.get('/api/cars');
},
get: function(){
return $http.get('/api/cars/123');
}
// etc...
}
RESTFul APIで各共通操作をどのように定義する必要があるかを確認してください。また、1 つの違いは、 returnがオブジェクトを$http
返すpromise
間です。Angular が restangularのようなRESTFul API$resource
を処理するのに役立つサードパーティのプラグインもあります。
APIがのようなものである場合/api/getcarsinfo
。あとは を使用するだけ$http
です。