12.14. RESTEasy JAXB
12.14.1. JAXB デコレーターの作成 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
概要
RESTEasy の JAXB プロバイダーはマーシャラーおよびアンマーシャラーインスタンスを修飾するプラグ可能な方法を提供します。作成されたアノテーションによってマーシャラーまたはアンマーシャラーインスタンスが発生します。本トピックでは RESTEasy を用いて JAXB デコレーターを作成する手順を取り上げます。
手順12.8 RESTEasy による JAXB デコレーターの作成
プロセッサークラスの作成
- DecoratorProcessor<Target, Annotation> を実装するクラスを作成します。ターゲットは JAXB マーシャラーまたはアンマーシャラーのクラスになります。アノテーションは手順 2 で作成されます。
- @DecorateTypes アノテーションをクラスに付け、デコレーターが修飾する必要がある MIME タイプ を宣言します。
decorate
関数内でプロパティーまたは値を設定します。
例12.22 プロセッサークラスの例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow アノテーションの作成
- @Decorator アノテーションが付けられたカスタムインターフェースを作成します。
- @Decorator アノテーションのプロセッサーとターゲットを宣言します。プロセッサーは手順 1 で作成されています。ターゲットは JAXB マーシャラーまたはアンマーシャラーのクラスになります。
例12.23 アノテーションの例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 手順 2 で作成されたアノテーションを関数に追加し、マーシャルされた時に入力か出力が修飾されるようにします。
結果
JAXB デコレーターが作成され、JAX-RS Web サービス内で適用されます。