AngularJS $resource サービス

Muhammad Adil 2023年3月20日
  1. AngularJS $resource$http
  2. AngularJS の例 $resource
AngularJS $resource サービス

AngularJS $resource は、より Angular に適した方法で RESTful Web サービスにアクセスできるようにするサービスです。 $resource は、ユーザーがアプリケーション ロジックに集中できるように、データのシリアライズとデシリアライズを処理します。

さらに、AngularJS $resourceRESTful API と通信するための関数を提供します。 これらの関数は、さまざまなソースからのデータの取得を簡素化し、すべての HTTP メソッドをサポートします。

デフォルトでは、$resource は次の 5つの REST 操作を実行します。

  1. アイテムのリストを取得する
  2. アイテムの入手
  3. アイテムの挿入
  4. アイテムの更新
  5. アイテムの削除

AngularJS $resource$http

$resource サービスは、REST エンドポイントなどのリモート リソースをクエリする方法です。 これは、リモート データを表すオブジェクトを作成し、それらのオブジェクトに対して CRUD 操作を実行するための機能を提供する AngularJS サービスです。

$http は、サーバーに対して AJAX リクエストを作成する機能を提供する AngularJS サービスです。 任意の AJAX ライブラリで使用できますが、完全な CRUD 機能を得るには、AngularJS の $resource サービスで使用する必要があります。

$resource は、一度宣言された後、コントローラー/サービス全体で get、post、query、remove、delete を呼び出すために使用される変数です。 $resource には便利なメソッドがすべて組み込まれており、これは優れた機能です。

$resource を使用して REST API にアクセスするときに繰り返しコードを記述する必要はありません。これにより、呼び出しをより表面的で関連性の高いものにすることができます。

AngularJS の例 $resource

JavaScript コード:

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 コード:

<!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>

これは開発者にとって強力で便利なツールであり、サーバーからデータをクエリするプロセスを簡素化します。

RESTful API での CRUD 操作に最も一般的に使用されますが、任意の API からデータを取得するためにも使用できます。

AngularJS $resource の主な利点は、ボイラープレート コードを記述する必要性を減らすことで、時間を節約し、コーディングを容易にすることです。

ここをクリック で、上記のコードのライブ デモを確認できます。

著者: Muhammad Adil
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