开发Sling模型导出程序

此技术演练将逐步介绍如何设置AEM以与Sling模型导出器一起使用、如何使用导出器框架增强现有Sling模型以呈现为JSON,以及如何使用导出器选项和Jackson注释进一步自定义输出。

Sling模型导出器在Sling模型v1.3.0中引入。这项新功能允许向Sling模型添加新注释,这些注释定义如何将模型导出为不同的Java对象,或者更常见的是,导出为不同的格式,如JSON。

Apache Sling提供了Jackson JSON导出器,以涵盖将Sling模型导出为JSON对象以供程序化Web使用者(如其他Web服务和JavaScript应用程序)使用的最常见案例。

为Sling模型导出器配置AEM

Sling Model Exporter是Apache Sling项目的一个功能,未直接绑定到AEM产品发行周期。 Sling Model Exporter与AEM 6.3及更高版本兼容。

Sling Model Exporter的用例

Sling Model Exporter非常适合利用已包含业务逻辑的Sling模型,这些业务逻辑通过HTL(或以前的JSP)支持HTML呈现,并展示与JSON相同的业务呈现以供程序化Web服务或JavaScript应用程序使用。

创建Sling模型导出程序

在Sling Model上启用Exporter支持与将@Exporter注释添加到Java类一样简单。

应用Sling模型导出器选项

Sling Model Exporter支持将每个模型的导出程序选项传递给导出程序实现,以驱动Sling Model最终导出的方式。 这些选项通常将“全局”应用于Sling Model的导出方式,而不是应用于每个数据点,后者可通过如下所述的内联注释完成。

Jackson Exporter选项包括:

应用Jackson注释

导出器实施还支持可内联应用于Sling Model类的注释,这些注释可提供更细的控制数据导出方式。

查看代码 view-the-code

SampleSlingModelExporter.java

支持材料 supporting-materials

recommendation-more-help
c92bdb17-1e49-4e76-bcdd-89e4f85f45e6