$http
effettua una chiamata AJAX per scopi generici, in cui in generale può includere API RESTful più Non RESTful .
ed $resource
è specializzato per quella parte RESTful .
Api riposante diventata diffusa negli ultimi anni perché l'URL è meglio organizzato invece dell'url casuale creato dai programmatori.
Se uso un'API RESTful per costruire l'URL, sarebbe qualcosa di simile /api/cars/:carId
.
$resource
modo per recuperare i dati
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');
}]);
Questo vi darà un oggetto risorsa , che è accompagnata con get
, save
, query
, remove
, delete
metodi automaticamente.
$http
modo per recuperare i dati
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...
}
Scopri come dobbiamo definire ogni operazione comune sull'API RESTFul . Inoltre una differenza è che $http
restituisce promise
mentre $resource
restituisce un oggetto. Esistono anche plugin di terze parti per aiutare Angular a gestire l' API RESTFul come restangular
Se l'API è qualcosa di simile /api/getcarsinfo
. Tutto quello che resta da noi è usare $http
.