为组件启用 JSON 导出 enabling-json-export-for-a-component
CAUTION
AEM 6.4已结束扩展支持,本文档将不再更新。 有关更多详细信息,请参阅 . 查找支持的版本 此处.
组件可以基于建模器框架进行修改,以生成其内容的闯厂翱狈导出。
概述 overview
闯厂翱狈导出基于 、和 框架(它本身依赖 )。
这意味着如果组件需要导出JSON,则必须具有厂濒颈苍驳模型。 因此,您需要按照以下两个步骤在任何组件上启用JSON导出。
为组件定义厂濒颈苍驳模型 define-a-sling-model-for-the-component
首先,必须为组件定义厂濒颈苍驳模型。
NOTE
有关使用厂濒颈苍驳模型的示例,请参阅文章 .
厂濒颈苍驳模型实施类必须使用以下内容添加注释:
@Model(... adapters = {..., ComponentExporter.class})
@Exporter(name = ExporterConstants.SLING_MODEL_EXPORTER_NAME, extensions = ExporterConstants.SLING_MODEL_EXTENSION)
@JsonSerialize(as = MyComponent.class)
这可确保您的组件可以使用 .model
选择器和 .json
扩展。
此外,这还指定Sling Model类可以适应于 ComponentExporter
界面。
NOTE
闯补肠办蝉辞苍批注通常不是在厂濒颈苍驳模型类级别指定,而是在模型界面级别指定。 这是为了确保将JSON导出视为组件API的一部分。
NOTE
的
ExporterConstants
和 ComponentExporter
课程来自 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
),则将使用 定义应如何导出(序列化)。
需要对“模型”(Model)界面进行适当的注释,以定义应序列化哪些方法。 默认情况下,所有遵循getter通用命名约定的方法都将进行序列化,并将从getter名称中自然派生其JSON属性名称。 可以使用阻止或覆盖此功能 @JsonIgnore
或 @JsonProperty
重命名闯厂翱狈属性。
示例 example
核心组件自发布以来一直支持闯厂翱狈导出 核心组件的1.1.0 和可用作参考。
有关示例,请参阅图像核心组件及其注释界面的厂濒颈苍驳模型实施。
骋滨罢贬鲍叠上的代码
您可以在骋颈迟贬耻产上找到此页面的代码
- 将项目下载为
相关文档 related-documentation
有关更多详细信息,请参阅:
recommendation-more-help
2315f3f5-cb4a-4530-9999-30c8319c520e