22

私はかなり前からJAX-RSの使い方を理解しようとしてきました。私は非常に基本的な概念から始めて、注釈スタイルのプログラミング、@ Path、@ Get、@Postなどの意味を徐々に理解していきました。

私の理解では、多くの場所で言及されていることに関して、JAX-RSは、JavaアノテーションをプレーンJavaオブジェクトに適用することに焦点を当てたフレームワークです(27ページ、Bill Burke、RESTful Java)。

それから私はこの点を超えて混乱しました。JAX-RS自体がRESTfulWebサービスを実装するためにアノテーションを処理するAPIを定義するフレームワークである場合、「Jersey」や「JBoosResteasy」などの「JAX-RSの実装」の意味は何ですか。JAX-RSの上に別のレイヤーがありますか?なぜそれらが必要なのですか?

誰かが私にそれについての洞察を提供できますか?どうもありがとう!!!

4

2 に答える 2

31

JAX-RSは、Java Specification Request 311( JSR-311 )で定義されている標準であり、Jersey/RESTEasyはその実装です。

実装であるということは、仕様に「@GET("/foo")メソッド( )を設定すると、データXにアクセスできる」という意味です。アプリサーバーでは、誰かが実際にデプロイされたコードを読み取り、注釈bar()付きのバイトコードを解析し、@GET次に、ユーザーが実際にhttp:// localhost / fooなどを参照した場合、このWebリクエストを取得してbar()、の戻り値をbar()http回答に変換します(たとえば、XMLまたはJSON表現)。

したがって、「JAX-RS」という名前の仕様は、たとえば@GETの構文とセマンティクスのみを提供しますが、リクエストの解析、適切なメソッドの呼び出し、結果値のマーシャリングなどの作業は、スペック

標準のバージョン2.0での作業は、JRS-339として開始されました。

http://en.wikipedia.org/wiki/Jax-rsも参照してください

于 2011-02-15T15:51:12.220 に答える
27

JAX-RSは、Javaを使用したRESTfulWebサービスの仕様です。Java EEに含まれているリファレンス実装がありますが、これは仕様であるため、Jersey、Resteasyなどを含む他のフレームワークを記述して仕様を実装できます。

于 2011-02-15T15:51:36.470 に答える