パッケージ jakarta.ws.rs.ext
インターフェース MessageBodyWriter<T>
- 型パラメーター:
- T- 書き込み可能な型。
 - public interface MessageBodyWriter<T>Java 型からストリームへの変換をサポートするプロバイダーの契約。- MessageBodyWriter実装には、適切と見なされるメディア型を制限するために、- Producesのアノテーションを付けることができます。- MessageBodyWriterパイプラインは、null 以外のレスポンスエンティティがある場合にのみ呼び出されます。- MessageBodyWriter契約を実装するプロバイダーは、プログラムで JAX-RS ランタイムに登録するか、プロバイダーのスキャンフェーズ中に JAX-RS ランタイムによって自動的に検出されるように- @Providerアノテーションを付ける必要があります。
- メソッドのサマリー- すべてのメソッド インスタンスメソッド 抽象メソッド デフォルトメソッド - 修飾子と型 - メソッド - 説明 - default long- getSize(T t, ClassSE<?> type, TypeSE genericType, AnnotationSE[] annotations, MediaType mediaType)元々、このメソッドは- writeToの前に呼び出され、シリアライズされた形式の- tの長さ(バイト単位)を確認していました。- boolean- isWriteable(ClassSE<?> type, TypeSE genericType, AnnotationSE[] annotations, MediaType mediaType)MessageBodyWriter が特定の型をサポートしているかどうかを確認します。- void- writeTo(T t, ClassSE<?> type, TypeSE genericType, AnnotationSE[] annotations, MediaType mediaType, MultivaluedMap<StringSE,ObjectSE> httpHeaders, OutputStreamSE entityStream)型を HTTP メッセージに書き込みます。
 
- メソッドの詳細- isWriteable- boolean isWriteable(ClassSE<?> type, TypeSE genericType, AnnotationSE[] annotations, MediaType mediaType) MessageBodyWriter が特定の型をサポートしているかどうかを確認します。- パラメーター:
- type- 書き込まれるインスタンスのクラス。
- genericType- 書き込まれるインスタンスの型。リソースメソッドの戻り値の型を反映するか、返されたインスタンスのインスペクションを介して取得されます。- GenericEntityは、実行時にこの情報を指定する方法を提供します。
- annotations- メッセージエンティティインスタンスに添付されたアノテーションの配列。
- mediaType- HTTP エンティティのメディア型。
- 戻り値:
-  型がサポートされている場合は true、それ以外の場合はfalse。
 
 - getSize- default long getSize(T t, ClassSE<?> type, TypeSE genericType, AnnotationSE[] annotations, MediaType mediaType) 元々、このメソッドは- writeToの前に呼び出され、シリアライズされた形式の- tの長さ(バイト単位)を確認していました。HTTP- Content-Lengthヘッダーで負でない戻り値が使用されています。- JAX-RS 2.0 の時点で、メソッドは非推奨になり、メソッドによって返される値は JAX-RS ランタイムによって無視されます。すべての - MessageBodyWriter実装は、メソッドから- -1を返すことをお勧めします。実際の- Content-Lengthヘッダー値を計算する責任は、JAX-RS ランタイムに委譲されています。- パラメーター:
- t- 書き込むインスタンス
- type- 書き込まれるインスタンスのクラス。
- genericType- 書き込むインスタンスの型。- GenericEntityは、実行時にこの情報を指定する方法を提供します。
- annotations- メッセージエンティティインスタンスに添付されたアノテーションの配列。
- mediaType- HTTP エンティティのメディア型。
- 戻り値:
- バイト単位の長さ、または長さが事前に決定できない場合は -1。
 
 - writeTo- void writeTo(T t, ClassSE<?> type, TypeSE genericType, AnnotationSE[] annotations, MediaType mediaType, MultivaluedMap<StringSE,ObjectSE> httpHeaders, OutputStreamSE entityStream) throws IOExceptionSE, WebApplicationException 型を HTTP メッセージに書き込みます。メッセージヘッダーマップは変更可能ですが、ヘッダーはメッセージ本文を書き込む前にフラッシュされるため、出力ストリームに書き込む前に変更を行う必要があります。- パラメーター:
- t- 書き込むインスタンス。
- type- 書き込まれるインスタンスのクラス。
- genericType- 書き込むインスタンスの型。- GenericEntityは、実行時にこの情報を指定する方法を提供します。
- annotations- メッセージエンティティインスタンスに添付されたアノテーションの配列。
- mediaType- HTTP エンティティのメディア型。
- httpHeaders- HTTP メッセージヘッダーの変更可能なマップ。
- entityStream- HTTP エンティティの- OutputStreamSE。実装は出力ストリームを閉じてはなりません。
- 例外:
- IOExceptionSE- IO エラーが発生した場合。
- WebApplicationException- 特定の HTTP エラーレスポンスを生成する必要がある場合。メッセージがコミットされる前にスローされた場合にのみ有効です。