web-dev-qa-db-ja.com

SpringRestTemplateとJerseyRestクライアントとRestEasyクライアント

クライアントアプリケーションからの非同期RESTAPI呼び出しに推奨され、さらに堅牢な実装はどれですか?

  1. スプリントレストテンプレート
  2. ジャージーレストクライアント
  3. 安らかなクライアント
14
Deepthi

ここに、各クライアントが提供しなければならないものを、個人的な推奨事項の良いものから一般的なものへと降順で評価するのに役立つドキュメントと例へのリンクと、私が見つけた他の比較へのリンクを示します。

  1. RESTEasyはJBossプロジェクトですキャッシュ機能を備えているため、最初に選択します:クライアントの「ブラウザ」キャッシュ。キャッシュの再検証 を含むHTTP 1.1キャッシングセマンティクスをサポートします。これはパフォーマンスに大きな影響を与えますが、他のクライアント実装ではすぐにキャッシュを提供しないため、追加のコードを記述して取得する必要があります。 RESTEasy は、RESTfulWebサービスおよびRESTful Javaアプリケーションの構築に役立つさまざまなフレームワークを提供します。完全に認定されたポータブルです。 JAX-RS 2.0仕様の実装、HTTPプロトコルを介したRESTfulWebサービス用のJava API)を提供するJCP仕様。

RESTEasy機能リスト

RESTEasy examples 関連項目 3つの形式のRESTEasyクライアント

  1. Jersey RESTful Webサービスフレームワーク は、サポートを提供するJava)でRESTful Webサービスを開発するためのオープンソース、プロダクション品質、フレームワークです。 JAX-RS APIの場合、JAX-RS(JSR311およびJSR339)リファレンス実装として機能します。

ジャージーフレームワークは、JAX-RSリファレンス実装以上のものです。 Jerseyは、JAX-RSツールキットを拡張する独自のAPIを提供し、RESTfulサービスとクライアント開発をさらに簡素化するための追加機能とユーティリティを提供します。また、Jerseyは、開発者がニーズに最も合うようにJerseyを拡張できるように、多数の拡張SPIを公開しています。

ジャージープロジェクトの目標は、次の点に要約できます。

  • JAX-RS APIを追跡し、GlassFishに付属する製品品質のリファレンス実装の定期的なリリースを提供します。
  • ジャージーを拡張し、ユーザーと開発者のコ​​ミュニティを構築するためのAPIを提供します。および-JavaおよびJava仮想マシンを利用してRESTfulWebサービスを簡単に構築できるようにします。

第5章クライアントAPI5.5を参照して選択できるジャージーコネクタがいくつかあります。クライアントトランスポートコネクタwhile Grizzly は、特にNIOフレームワークを使用して開発者がJava™NIO APIを利用できるようにするため、最も高度なように見えます( Java.netとJava.nio は、 AsyncHttpClient progect で使用されました。必要なものはすべて揃っています。

デフォルトでは、Jerseyのトランスポート層はHttpUrlConnectionによって提供されます。このトランスポートは、ジャージー固有のコネクタSPIを実装するHttpUrlConnectorProviderを介してジャージーに実装されます。独自のConnectorインスタンスをJerseyClient実装に実装および/または登録できます。これにより、デフォルトのHttpUrlConnectionベースのトランスポート層が置き換えられます。ジャージーは、すぐに使用できるいくつかの代替クライアントトランスポートコネクタ実装を提供します。

表5.1。ジャージーコネクタのリストトランスポートフレームワークジャージーコネクタの実装Mavenの依存関係

Jersey vs. RESTEasy:JAX-RS実装の比較

  1. Spring RestTemplate または非同期のREST API呼び出し AsyncRestTemplate を参照 Spring 4 AsyncRestTemplate + ListenableFuture Example は、デフォルトのSpringBootスターターRestfulAPIです。 Paypalチームが RESTEasy Spring Boot Starter を作成してコミュニティと共有することを決定するまで、RESTEasy SpringBootスターターはありませんでした。
9