ngResource
既にはものごとを実装するのに本当に単純なようです...
Restangular over ngResource を使用することの利点/欠点は何ですか?
1.1.3 $resource
はpromiseを返し、- latest PR commit を使用して補完できます。 Restangularが行う追加の動詞をサポートするために、$resource
に将来のサポートが提供されますか?そして、それが起こると、Restangularは消えて無関心になるようです。
私はRestangularの作成者です。
READMEに関するセクションを作成しましたが、$ resourceとの違いがあります。こちらで確認できます https://github.com/mgonto/restangular/blob/master/README.md#differences-with-resource
とにかく、要約すると、追加機能と約束ベースのアプローチに加えて、RestangularはすべてのURLも処理できるため、それらについて何も知らなくてもよいという考え方です。
車用に次のようなものがあるとします:/ users/123/cars/456
$ resourceでは、そのURLを手動で作成する必要があり、このための$ resourceオブジェクトも手動で作成する必要があります。 Restangularは、URLを「記憶」することでこれを支援します。
ある場所でやるなら
Restangular.one("users", 123).get().then(function(user) {
$scope.user = user;
});
// Some other code
//Automatically does the request to /users/123/cars as it remembers in which object you're asking it.
$scope.user.getList('cars')
お役に立てれば!
RestangularのRequestInterceptorは、リクエストを行う前にオブジェクトからいくつかのフィールドを削除するのに非常に便利であることがわかりました。現在作業しているほとんどのREST webservicesは、たとえばURLのPUTリクエストのオブジェクトデータにidを期待していません。一般に、PUTによって更新できない追加のデータフィールド(id、タイトルの設定によって生成されるスラッグなど)は期待していません。これをRestangularで簡単に実行できることがわかりましたが、$ resourceをクリーンな方法で使用する方法がわかりませんでしたが、どうにかして可能だと確信しています。
もちろん、これらの余分なフィールドを無視するようにWebサービスを変更することもできますが、それは常に可能ではありません。
ngResourceは、最新の安定版リリース(現在1.0.6)ではpromiseを返しません。さらに、RestangularはngResourceよりも多くの動詞を公開しているように見えます(PUT、OPTIONS、PATCHなどを公開しています)。
追加の動詞を必要とせず、AngularJSの不安定なブランチ(ngResourceのpromiseを含む)にいる場合は、ngResourceではなくRestangularを使用する主な理由はわかりません。
快適に感じるものなら何でも使用してください。
上記の回答までのフォローとして、およびnew読者のために、私のような読者はそれらの考えに興味があります:
「そして、それが起こると、Restangularは消えて、無関心になるように思われます。」
「GoogleのngResourceが欠けていたすべての機能に追いついたため、この男がRestangularのサポートを終了すると、3か月後に何が起こるのか」
私の意見では、onlyは、open-sourceの存続を保証しますライブラリは、それを中心に構築されたコミュニティです。最良の例は、mariaDBとWebScaleSQLで、どちらも生まれました優れたリレーショナルデータベース管理システムMySQLへの分岐点として。
この執筆時点で、Restangular having 6699 stars and 727 forks
は、angularJs 2.0およびES6をサポートすることを目的としたRestangular 2.0に移行しています。
最小限のサポートでこれまでずっと実行したい簡単なWebサイトの場合、組み込みのangular httpHttpClientを使用します私が大好きなプロジェクトに取り組んでいて、すべてのクールなテクノロジーを楽しんで使用しようとしているときは、Ngx-Restangularを使用します
また、名前が示すように、ngx-restangularはRESTfulサービスでのみ動作することを知っておく必要があります。したがって、SOAPを提供するサービスでは、Ngx-Restangularを使用できません。
と言われている私はいつもngx-restangularを使用します私はいつもクールだと思うプロジェクトに取り組み、私が思うものを実装しようとしていますベスト。
幸運を祈ります!