本当にジャージって何なんだろう。
私が知っているのは、Jax-RSがREST Webサービスおよびジャージを構築するためのAPIであることです。私はいくつかの情報を得て、すべて同じことを言います:「ジャージーはJax-RSの実装です」。しかし、それはどういう意味ですか?
jax-rsがAPIである場合、残りのWebサービスを作成するためになぜジャージーが必要なのですか?ジャージーは、jax-rsを狙うためにさらにいくつかのライブラリですか?はいの場合、jax-rsは不完全なAPIですか?
本当にジャージって何なんだろう。
私が知っているのは、Jax-RSがREST Webサービスおよびジャージを構築するためのAPIであることです。私はいくつかの情報を得て、すべて同じことを言います:「ジャージーはJax-RSの実装です」。しかし、それはどういう意味ですか?
jax-rsがAPIである場合、残りのWebサービスを作成するためになぜジャージーが必要なのですか?ジャージーは、jax-rsを狙うためにさらにいくつかのライブラリですか?はいの場合、jax-rsは不完全なAPIですか?
回答:
JAX-RSは仕様(単なる定義)であり、JerseyはJAX-RS実装です。
Jerseyフレームワークは、JAX-RSリファレンス実装以上のものです。Jerseyは独自のAPIを提供し、JAX-RSツールキットを拡張して、RESTfulサービスとクライアント開発をさらに簡素化する追加の機能とユーティリティを提供します。Jerseyはまた、開発者が自分のニーズに最適になるようにJerseyを拡張できるように、多数の拡張SPIを公開しています。
JAX-RSは仕様であり、JerseyはJAX-RS実装です。-True
これは、それをOOPS原則に関連付けると理解できます。JAX-RSはインターフェースであり、Jerseyはそのインターフェースを実装するクラスです。
これらの仕様は、Webサービスを開発および使用するための標準を作成します。
wink、RestEasyのような他のJAX-RS実装もあります。
JAX-RSは、Webサービスをどのように実装できるか、つまり入力タイプ、入力フォーマット、出力タイプ、そのフォーマット、構成などを指定する仕様です。タイプ宣言とその実装は、これらのライブラリ、ジャージー、ウインクRestEasyなど
さらに、JavaにもJPA(Java Persistence API)のような仕様があり、上記のようにJPAの実装であるHibernateがあります。
JAX-RSを単独で使用するとRESTを実装できません。RESTリクエストのサーブレットディスパッチャとしてJerseyを登録する必要があります web.xml
標準でポータブルなJAX-RS APIが設計されています。Jersey RESTful Webサービスフレームワークは、JAX-RS APIのサポートを提供し、JAX-RS(JSR 311およびJSR 339)リファレンス実装として機能する、JavaでRESTful Webサービスを開発するためのオープンソース、本番品質のフレームワークです。
Jerseyフレームワークは、JAX-RSリファレンス実装以上のものです。Jerseyは、JAX-RSツールキットを拡張して独自のAPIを提供し、RESTfulサービスとクライアント開発をさらに簡素化するための追加の機能とユーティリティを備えています。ソース
RestletとJerseyは、JavaエコシステムでRESTful Webサービスの開発に使用されるJAX-RSの最も人気のある実装の2つですが、Apache Wink、Apache CXF、JBoss RESTEasyなどの他の実装もいくつかあります。 ソース