Hitachi

Cosminexus V11 アプリケーションサーバ Webサービス開発ガイド


24.1 JAX-RS 1.1仕様のサポート範囲

ここでは,JAX-RS 1.1仕様のサポート範囲について説明します。JAX-RS 1.1仕様のサポート範囲を次の表に示します。

表24‒1 JAX-RS 1.1仕様のサポート範囲

分類

対応

備考

大分類※

小分類

2

Application

ビルトイン実装

○

Application ServerのJAX-RS機能は,サーブレットベースのメカニズム(JAX-RS 1.1仕様の2.3.2項の最終段落に記述されています)をサポートしています。また,JAX-RS機能はデフォルトのビルトインApplication実装を提供しているので,RESTful Webサービスを実装する際にApplicationの実装は不要です(Applicationのカスタム実装はサポートしていません)。ビルトインApplication実装やデプロイについては,「3.5.1 WARファイルの構成」を参照してください。

カスタム実装

×

3.1,3.3

要求メソッド識別子

ビルトイン実装

○

Application ServerのJAX-RS機能は,JAX-RS 1.1仕様で定義されている次の標準の要求メソッド識別子をサポートしています。

  • GETアノテーション

  • POSTアノテーション

  • PUTアノテーション

  • DELETEアノテーション

  • HEADアノテーション

JAX-RS 1.1仕様でオプションとなっている要求メソッド識別子のカスタム実装はサポートしていません。

カスタム実装

×

3.1

ルートリソースクラス

○

ルートリソースクラスについては,「17.1.1 ルートリソースクラス」を参照してください。

3.1

ルートリソースクラスのライフサイクル

○

ルートリソースクラスのライフサイクルについては,「17.1.1(1) ライフサイクル」を参照してください。

3.1.2

ルートリソースクラスのコンストラクタパラメタへのインジェクション

○

ルートリソースクラスのコンストラクタパラメタへのインジェクションについては,「17.1.1(2) コンストラクタ」を参照してください。

インジェクトできる型や,DefaultValueアノテーションとの組み合わせについては,「17.1.4 パラメタ型」を参照してください。

3.2

フィールドとbeanプロパティへのインジェクション

○

フィールドとbeanプロパティへのインジェクションについては,「17.1.1(3) フィールドおよびbeanプロパティ」を参照してください。

インジェクトできる型や,DefaultValueアノテーションとの組み合わせについては,「17.1.4 パラメタ型」を参照してください。

3.3

リソースメソッド

○

リソースメソッドについては,「17.1.1(4) リソースメソッド」を参照してください。

3.3.2

リソースメソッドのパラメタへのインジェクション

○

リソースメソッドのパラメタへのインジェクションについては,「17.1.1(4)(b) パラメタのアノテーション」を参照してください。

インジェクトできる型や,DefaultValueアノテーションとの組み合わせについては,「17.1.4 パラメタ型」を参照してください。

3.3.2(1)

HTTPリクエストのエンティティボディからエンティティパラメタへのマッピング

○

エンティティパラメタについては,「17.1.1(4)(c) エンティティパラメタ」を参照してください。

3.3.3

戻り値からHTTPレスポンスのエンティティボディへのマッピング

○

戻り値については,「17.1.1(4)(d) 戻り値」を参照してください。

3.2,3.3.4

例外のハンドリング

○

例外については,「17.1.5 例外のマッピング」を参照してください。

3.3.5

HEAD HTTPリクエストおよびOPTIONS HTTPリクエストの処理

○

HEAD HTTPリクエストの処理については,「24.3.2(3) javax.ws.rs.HEADアノテーション」を参照してください。OPTIONS HTTPリクエストの処理については,「24.3.2(4) javax.ws.rs.OPTIONSアノテーション」を参照してください。

3.4,3.7.3

URIテンプレートと正規表現

○

URIテンプレートについては,「17.1.6 URIテンプレート」を参照してください。

3.4.1

サブリソースメソッド

○

サブリソースメソッドについては,「17.1.1(5) サブリソースメソッド」を参照してください。

3.4.1

サブリソースロケータとサブリソース

○

サブリソースロケータについては,「17.1.1(6) サブリソースロケータ」を参照してください。サブリソースクラスについては,「17.1.7 サブリソースクラス」を参照してください。

3.5

メディアタイプの宣言

○

メディアタイプの宣言については,「17.1.9 メディアタイプ宣言」を参照してください。

3.6

アノテーションの継承

○

アノテーションの継承については,「17.1.11 アノテーションの継承」を参照してください。

3.7

HTTPリクエストからリソースメソッドへのマッチング

○

−

3.8

HTTPレスポンスのメディアタイプの決定

○

−

4.2

エンティティプロバイダ(メッセージボディリーダおよびライタ)

ビルトイン実装

○

Application ServerのJAX-RS機能は,ビルトインのエンティティプロバイダを提供しているので,RESTful Webサービスを実装する際にエンティティプロバイダの実装は不要です(エンティティプロバイダのカスタム実装はサポートしていません)。

ビルトインのエンティティプロバイダには,JAX-RS 1.1仕様でサポートが必須とされているエンティティプロバイダのほか,JAX-RS機能で追加にサポートするエンティティプロバイダが含まれます。ビルトインのエンティティプロバイダとサポートされる型については,「17.1.1(4)(c) エンティティパラメタ」を参照してください。

カスタム実装

×

4.3

コンテキストプロバイダ

×

コンテキストプロバイダを実装しなくても,Application ServerのJAX-RS機能はJAX-RS 1.1仕様の標準のコンテキストを適切に処理します。

4.4

例外マッピングプロバイダ

○

例外マッピングプロバイダについては,「17.2.2 例外マッピングプロバイダ」を参照してください。

5

コンテキスト

○

Application ServerのJAX-RS機能は標準のコンテキスト型をサポートしています。コンテキストについては,「24.4 コンテキスト」を参照してください。

5.2.1

javax.ws.rs.core.Application

×

−

5.2.2

javax.ws.rs.core.UriInfo

○

javax.ws.rs.core.UriInfoについては,「24.4.1 javax.ws.rs.core.UriInfo」を参照してください。

5.2.3

javax.ws.rs.core.HttpHeaders

○

javax.ws.rs.core.HttpHeadersについては,「24.4.2 javax.ws.rs.core.HttpHeaders」を参照してください。

5.2.4

javax.ws.rs.core.Request

○

javax.ws.rs.core.Requestについては,「24.4.3 javax.ws.rs.core.Request」を参照してください。

5.2.5

javax.ws.rs.core.SecurityContext

○

javax.ws.rs.core.SecurityContextについては,「24.4.4 javax.ws.rs.core.SecurityContext」を参照してください。

5.2.6

javax.ws.rs.ext.Providers

○

javax.ws.rs.ext.Providersについては,「24.4.5 javax.ws.rs.core.ext.Providers」を参照してください。

6.1

javax.servlet.ServletConfig

○

javax.servlet.ServletConfigについては,「24.4.6 javax.servlet.ServletConfig」を参照してください。

6.1

javax.servlet.ServletContext

○

javax.servlet.ServletContextについては,「24.4.7 javax.servlet.ServletContext」を参照してください。

6.1

javax.servlet.http.HttpServletRequest

○

javax.servlet.http.HttpServletRequestについては,「24.4.8 javax.servlet.http.HttpServletRequest」を参照してください。

6.1

javax.servlet.http.HttpServletResponse

○

javax.servlet.http.HttpServletResponseについては,「24.4.9 javax.servlet.http.HttpServletResponse」を参照してください。

6.1

サーブレットコンテナ(Webコンテナ)による実行環境

○

JAX-RS機能は,サーブレットコンテナによるRESTful Webサービスの実行環境を提供しています。

「1.4.2(2)(c) Application」も参照してください。

6.1

サーブレット仕様で定義されている型のインジェクション

○

次の項目も参照してください。

  • javax.servlet.ServletConfig

  • javax.servlet.ServletContext

  • javax.servlet.http.HttpServletRequest

  • javax.servlet.http.HttpServletResponse

6.1

要求エンティティのストリーミング処理とメソッド内での応答のコミット

×

Application ServerのJAX-RS機能は,JAX-RS 1.1仕様の6.1節の後半で説明されている動作をサポートしていません。

6.2

Java EEコンテナ(EJBコンテナ)による実行環境

×

−

7

ランタイムデリゲート

○

Application ServerのJAX-RS実装は,JAX-RS 1.1仕様のランタイムデリゲートのメカニズムに従って実装されています。

Apx.A

アノテーション

○

APIについては,「24.2 APIのサポート範囲」を参照してください。

Apx.B

HTTPヘッダ

○

−

JavaDoc

API

○

APIについては,「24.2 APIのサポート範囲」を参照してください。

(凡例)

○:対応しています。

×:対応していません。

−:該当しません。

注※

JAX-RS 1.1仕様の該当個所(章節項)を示します。