第48章 コンシューマーへの情報の返却

概要

RESTful 要求では、少なくとも HTTP 応答コードをコンシューマーに返す必要があります。多くの場合、プレーンな JAXB オブジェクトまたは GenericEntity オブジェクトを返すことで要求を満たすことができます。リソースメソッドが応答エンティティーと共に追加のメタデータを返す必要がある場合、JAX-RS リソースメソッドは必要な HTTP ヘッダーまたは他のメタデータを含む Response オブジェクトを返すことができます。

48.1. 戻り値のタイプ

コンシューマーに返される情報によって、リソースメソッドが返すオブジェクトの正確なタイプが決まります。これは明白に思えるかもしれませんが、Java の戻りオブジェクトと RESTful コンシューマーに返されるものの間のマッピングは 1 対 1 ではありません。少なくとも、応答エンティティーのボディーに加えて、RESTful コンシューマーは有効な HTTP リターンコードを返す必要があります。Java オブジェクトに含まれるデータの応答エンティティーへのマッピングは、コンシューマーが受け入れる MIME タイプにより変化します。

Java オブジェクトを RESTful 応答メッセージにマッピングする時に発生する問題に対処するために、リソースメソッドは以下の 4 種類の Java コンストラクトを返すことができます。