Menu Close
48.2. プレーンな Java コンストラクトの返信
概要
多くの場合、リソースクラスは標準の Java 型、JAXB オブジェクト、またはアプリケーションにエンティティープロバイダーを持つオブジェクトを返すことができます。このような場合、ランタイムは返されたオブジェクトの Java クラスを使用して MIME タイプ情報を決定します。また、ランタイムによって適切な HTTP 戻りコードが決定され、コンシューマーに送付されます。
返すことができる型
リソースメソッドは、void
またはエンティティーライターが提供されている Java 型を返すことができます。デフォルトでは、ランタイムには以下のプロバイダーがあります。
- Java プリミティブ
-
Java プリミティブの
Number
表現 - JAXB オブジェクト
「ネイティブにサポートされている型」 はデフォルトでサポート対象となるすべての戻り値をリストします。「カスタムライター」 は、カスタムエンティティーライターの実装方法を記述します。
MIME タイプ
ランタイムは、最初にリソースメソッドおよび @Produces
アノテーションのリソースクラスをチェックして、返されるエンティティーの MIME タイプを決定します。見つかった場合、アノテーションに指定された MIME タイプを使用します。リソースの実装で指定されたものが見つからない場合は、エンティティープロバイダーに依存して適切な MIME タイプを決定します。
デフォルトでは、ランタイムは MIME タイプを以下のように割り当てます。
-
Java プリミティブおよびその
Number
表現には、MIME タイプのapplication/octet-stream
が割り当てられます。 -
JAXB オブジェクトには、
application/xml
の MIME タイプが割り当てられます。
アプリケーションは、「カスタムライター」 の説明のようにカスタムエンティティープロバイダーを実装して他のマッピングを使用できます。
レスポンスコード
リソースメソッドがプレーンの Java コンストラクトを返すと、ランタイムは例外を発生させずにリソースメソッドが完了した場合に、応答ステータスコードを自動的に設定します。ステータスコードは次のように設定されます。
-
204
(コンテンツなし) - リソースメソッドの戻り値の型はvoid
です。 -
204
(コンテンツなし) - 返されるエンティティーの値 はnull
です。 -
200
(OK) - 返されるエンティティーの値はnull
ではありません。
リソースメソッドの完了後に例外が発生した場合、50章例外の処理 で説明されているように、戻りステータスコードが設定されます。