$http
effectue un appel AJAX à usage général, ce qui signifie généralement qu'il peut inclure une API RESTful plus une API non RESTful .
et $resource
est spécialisé pour cette partie RESTful .
Api reposant est devenu répandu ces dernières années parce que l'url est mieux organisée au lieu d'une URL aléatoire composée par des programmeurs.
Si j'utilise une API RESTful pour construire l'URL, ce serait quelque chose comme /api/cars/:carId
.
$resource
façon de récupérer des données
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');
}]);
Cela vous donnera un objet ressource , qui est accompagné get
, save
, query
, remove
, delete
méthodes automatiquement.
$http
façon de récupérer des données
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...
}
Découvrez comment nous devons définir chaque opération commune sur l' API RESTFul . Une différence est également que $http
renvoie promise
while $resource
renvoie un objet. Il existe également des plugins tiers pour aider Angular à gérer l'API RESTFul comme restangular
Si l'API ressemble à quelque chose /api/getcarsinfo
. Il ne nous reste plus qu'à utiliser $http
.