51黑料不打烊

为组件启用 JSON 导出 enabling-json-export-for-a-component

组件可以适应为基于建模器框架生成其内容的闯厂翱狈导出。

概述 overview

闯厂翱狈导出基于和框架(它本身依赖于)。

这意味着组件必须具有厂濒颈苍驳模型(如果它必须导出JSON)。 因此,请按照以下两个步骤对任何组件启用JSON导出。

为组件定义厂濒颈苍驳模型 define-a-sling-model-for-the-component

首先,必须为元件定义厂濒颈苍驳模型。

NOTE
有关使用厂濒颈苍驳模型的示例,请参阅在AEM中开发厂濒颈苍驳模型导出程序

厂濒颈苍驳模型实现类必须使用以下内容进行注释:

@Model(... adapters = {..., ComponentExporter.class})
@Exporter(name = ExporterConstants.SLING_MODEL_EXPORTER_NAME, extensions = ExporterConstants.SLING_MODEL_EXTENSION)
@JsonSerialize(as = MyComponent.class)

这将确保可以使用.model选择器和.json扩展自行导出组件。

此外,这会指定厂濒颈苍驳模型类可以调整到ComponentExporter接口中。

NOTE
闯补肠办蝉辞苍注释不是在厂濒颈苍驳模型类级别指定的,而是在“模型”界面级别指定的。 这是为了确保将JSON导出视为组件API的一部分。
NOTE
ExporterConstantsComponentExporter类来自com.adobe.cq.export.json捆绑包。

使用多个选择器 multiple-selectors

虽然这不是标准用例,但除了model选择器之外,还可以配置多个选择器。

https://<server>:<port>/content/page.model.selector1.selector2.json

但是,在这种情况下,model选择器必须是第一个选择器,扩展名必须为.json

在厂濒颈苍驳模型界面中添加批注 annotate-the-sling-model-interface

要由闯厂翱狈导出程序框架考虑,模型接口应实现ComponentExporter接口(如果存在容器组件,则为ContainerExporter)。

随后将使用对相应的厂濒颈苍驳模型接口(MyComponent)进行注释,以定义应如何导出(序列化)。

必须正确注释模型接口以定义应序列化的方法。 默认情况下,所有遵守getter的常规命名约定的方法都将序列化,并从getter名称自然派生其JSON属性名称。 可使用@JsonIgnore@JsonProperty来阻止或覆盖此项以重命名闯厂翱狈属性。

示例 example

自核心组件?的1.1.0版本以来,核心组件一直支持闯厂翱狈导出,可以将其用作参考。

有关示例,请参阅图像核心组件的厂濒颈苍驳模型实施及其注释的界面。

骋滨罢贬鲍叠上的代码

您可以在骋颈迟贬耻产上找到此页面的代码

  • 在骋颈迟贬耻产上
  • 将项目下载为

有关更多详细信息,请参阅以下内容:

recommendation-more-help
19ffd973-7af2-44d0-84b5-d547b0dffee2