JAX-RS

JAX-RS
(Java API for RESTful Web Services)
開発元 オラクル(サン・マイクロシステムズ
最新版
2.0 / 2013年5月24日 (2013-05-24)
リポジトリ
  • github.com/jakartaee/rest
ウィキデータを編集
プログラミング
言語
Java
対応OS クロスプラットフォーム
プラットフォーム Java仮想マシン
種別 アプリケーションフレームワーク
公式サイト jax-rs-spec.java.net
テンプレートを表示

JAX-RS (Java API for RESTful Web Services) は、RESTアーキテクチャに基づくWebサービスのための機能を提供するJava言語のAPIである。[1] JAX-RSはJava SE 5で導入されたアノテーションの仕組みを用いて、シンプルな開発を実現する。

JAX-RSは、2009年にリリースされたJava EE 6においてバージョン1.1が仕様の一つとして取り込まれており、Java EEの標準仕様の一つとなっている。Java EE以外の環境においても、例えばWebアプリケーションの設定ファイルであるweb.xmlに登録することで、利用可能である。2013年5月に公開されたバージョン2.0は、クライアントAPIやフィルタといった機能が追加されており、Java EE 7に含まれている[2]

仕様

JAX-RSは、リソースクラス(POJOのJavaクラス)をWebリソースにマッピングするのを助けるアノテーションを提供する。アノテーションの例を以下に示す。

加えて、リクエストからメソッドの引数に情報を読み込むためのアノテーションも提供している。これらの@*Paramアノテーションは必要な値を取得するためにキーを要求する。

  • @PathParam : パスとメソッド引数を紐付ける。
  • @QueryParam : HTTPのクエリとメソッド引数を紐付ける。
  • @MatrixParam : HTTPのマトリックスパラメータとメソッド引数を紐付ける。
  • @HeaderParam : HTTPヘッダーとメソッド引数を紐付ける。
  • @CookieParam : HTTP cookieとメソッド引数を紐付ける。
  • @FormParam : フォームの値とメソッド引数を紐付ける。
  • @DefaultValue : 上記のキーが存在しない場合のデフォルト値を指定する。
  • @Context : 全体のコンテキストを返す(例 @Context HttpServletRequest request)。

実装

JAX-RS自体はAPIであり、実際の実装として下記のようなものがある。[3]

脚注

  1. ^ Hadley, p. 1.
  2. ^ JSR 339: JAX-RS 2.0: The Java API for RESTful Web Services
  3. ^ Mark Little, A Comparison of JAX-RS Implementations

参考文献

  • Hadley, Marc and Paul Sandoz, eds. (September 17, 2009). JAX-RS: Java API for RESTful WebServices (version 1.1), Java Community Process

外部リンク

  • Java.net - Java API for RESTful Services (JAX-RS) (英語)
  • 表示
  • 編集