Sling Model Exporter の開発
この技術的な手順では、Sling Model Exporter で使用する AEM の設定、Exporter フレームワークを使用した既存の Sling Model の JSONとしてのレンダリング、出力をさらにカスタマイズする Exporter オプションと Jackson 注釈の使用方法について説明します。
Sling Model Exporter は、Sling Models v1.3.0 で導入されました。この新機能を使用すると、Sling Model に新しい注釈を追加して、モデルを別の Java オブジェクトとして書き出す方法、JSON などの別の形式にシリアル化する方法を定義できます。
Apache Sling は Jackson JSON エクスポーターを提供し、他の web サービスや JavaScript アプリケーションなどのプログラムによる web コンシューマーが使用する Sling モデルを JSON オブジェクトとして書き出す最も一般的な例を取り上げます。
Sling Model Exporter 用の AEM の設定
Sling Model Exporter は Apache Sling プロジェクトの機能であり、AEM 製品リリースサイクルに直接結び付けられるものではありません。Sling Model Exporter は、AEM 6.3 以降と互換性があります。
Sling Model Exporter のユースケース
Sling Model Exporter は、HTL(または以前の JSP)を介した HTML レンディションをサポートするビジネスロジックが既に含まれている Sling モデルを活用し、同じビジネス表現を JSON として公開して、プログラムによる web サービスや JavaScript アプリケーションで利用するのに最適なものです。
Sling Model Exporter の作成
Sling Model で Exporter サポートを有効にするには、Java クラスに @Exporter
注釈を追加するのと同じくらい容易です。
Sling Model Exporter オプションの適用
Sling Model Exporter はモデルごとの Exporter オプションを Exporter の実装に渡して、Sling Model が最終的に書き出される方法をサポートします。これらのオプションは一般に Sling Model がどのように書き出されるのか「グローバル」に適用され、後述のインライン注釈によって行うことができるデータポイント単位ではありません。
Jackson Exporter リストのオプションは次のとおりです。
Jackson 注釈の適用
エクスポーターの実装は、Sling Model クラスのインラインで適用できる注釈をサポートすることもあり、データがどのように書き出されるのかについて、より細かいレベルで制御することが可能です。