$httpeffectue 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 $resourceest 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, deletemé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 $httprenvoie promisewhile $resourcerenvoie 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.