AngularJS $resource

  1. AngularJS $resource vs. $http
  2. Beispiel für AngularJS $resource
AngularJS $resource

AngularJS $resource ist ein Dienst, mit dem Sie Angular-freundlicher auf RESTful-Webdienste zugreifen können. $resource kümmert sich um die Serialisierung und Deserialisierung von Daten, damit Sie sich auf die Anwendungslogik konzentrieren können.

Darüber hinaus bietet AngularJS $resource Funktionen zur Kommunikation mit RESTful APIs. Diese Funktionen vereinfachen das Abrufen von Daten aus verschiedenen Quellen und unterstützen alle HTTP-Methoden.

Standardmäßig führt $resource die folgenden fünf REST-Operationen aus.

  1. Abrufen einer Liste von Elementen
  2. Einen Gegenstand bekommen
  3. Artikel einfügen
  4. Aktualisieren eines Artikels
  5. Löschen eines Artikels

AngularJS $resource vs. $http

Der Dienst $resource ist eine Möglichkeit, Remote-Ressourcen wie REST-Endpunkte abzufragen. Es ist ein AngularJS-Dienst, der Funktionen zum Erstellen von Objekten bereitstellt, die Remote-Daten darstellen, und zum Ausführen von CRUD-Operationen an diesen Objekten.

$http ist ein AngularJS-Dienst, der Funktionen bereitstellt, um AJAX-Anfragen an den Server zu stellen. Es kann mit jeder AJAX-Bibliothek verwendet werden, aber es muss mit dem $resource-Dienst von AngularJS verwendet werden, um die volle CRUD-Funktionalität zu erhalten.

$resource ist eine Variable, die einmal deklariert und dann zum Aufrufen von get, post, query, remove und delete über unseren Controller/Dienst verwendet wird. Die $resource enthält alle praktischen eingebauten Methoden, was ein großartiges Feature ist.

Wir müssen keinen sich wiederholenden Code schreiben, wenn wir mit $resource auf die REST-API zugreifen, wodurch wir unsere Aufrufe oberflächlicher und relevanter machen können.

Beispiel für AngularJS $resource

JavaScript-Code:

var app = angular.module('plunker', ['ngResource']);
app.factory('demo', function($resource) {

  var url = 'sample.json';
  var res = $resource(url, null, {
	query: {
		isArray: true,
	  transformResponse: function(data) {
		var items = angular.fromJson(data);
		var models = [];

			class Person {
			constructor(config) {
		   this.name=config.name;
			   }
			 sayHello() {
			   }                        }
			 angular.forEach(items, function(item) {
		  models.push(new Person(item));
		});
		console.log("models: ", models);
		return models;
	  }
	}
  });
  return res;
});

app.controller('MainCtrl', function($scope, demo) {
  demo.query()
	.$promise.then(function (data) {
	  $scope.names = data;

	});
});

HTML Quelltext:

<!DOCTYPE html>
<html ng-app="plunker">

  <head>
    <meta charset="utf-8" />
    <title>AngularJS Plunker</title>
    <link rel="stylesheet" href="style.css" />
    <script data-require="angular.js@1.3.x" src="https://code.angularjs.org/1.3.14/angular.js" data-semver="1.3.14"></script>
    <script data-require="angular-resource@1.3.x" data-semver="1.3.14" src="http://code.angularjs.org/1.3.14/angular-resource.js"></script>

    <script src="app.js"></script>
  </head>
<body ng-controller="MainCtrl">
  Hello.
  <ul>
    <li ng-repeat="n in names">
      {{n.name}}
    </li>
  </ul>
</body>
</html>

Es ist ein leistungsstarkes und hilfreiches Tool für Entwickler, das den Prozess der Datenabfrage vom Server vereinfacht.

Es wird am häufigsten für CRUD-Operationen auf RESTful-APIs verwendet, kann aber auch zum Abrufen von Daten von beliebigen APIs verwendet werden.

Der Hauptvorteil von AngularJS $resource besteht darin, dass es Zeit spart und das Codieren vereinfacht, indem es die Notwendigkeit reduziert, Boilerplate-Code zu schreiben.

Klicken Sie hier, um die Live-Demonstration des Codes wie oben erwähnt zu überprüfen.

Genießen Sie unsere Tutorials? Abonnieren Sie DelftStack auf YouTube, um uns bei der Erstellung weiterer hochwertiger Videoanleitungen zu unterstützen. Abonnieren
Muhammad Adil avatar Muhammad Adil avatar

Muhammad Adil is a seasoned programmer and writer who has experience in various fields. He has been programming for over 5 years and have always loved the thrill of solving complex problems. He has skilled in PHP, Python, C++, Java, JavaScript, Ruby on Rails, AngularJS, ReactJS, HTML5 and CSS3. He enjoys putting his experience and knowledge into words.

Facebook