【发布时间】:2015-09-10 19:19:41
【问题描述】:
我们面临一个场景,我们需要公开我们的 CQ 内容(如 XML 或 JSON)以充当集成点。 任何实现这一点的指针都会有所帮助。
圣
【问题讨论】:
-
stackoverflow.com/help/on-topic - “任何指针”不是一个具体问题。
标签: aem restful-url jcr
我们面临一个场景,我们需要公开我们的 CQ 内容(如 XML 或 JSON)以充当集成点。 任何实现这一点的指针都会有所帮助。
圣
【问题讨论】:
标签: aem restful-url jcr
一切都很满意! 您可以简单地获得每个节点的 json 输出,但我猜您可能想实现一个自定义 servlet 来满足服务器的特定要求。 试试这个:
http://192.168.56.56:4503/content/geometrixx-outdoors/en/men/coats.infinity.json http://192.168.56.56:4503/content/geometrixx-outdoors/en/men/coats.3.json
查看sling docs 并了解 sling 如何解析资源(sling 备忘单)
【讨论】:
AEM 中的内容可以通过多种方式提供给最终用户,例如 html 页面、PDF、xml、json。
Sitemap.xml 是类似的内容之一。您可以创建自定义的 RESTful API 来从 JCR 存储库中读取内容,将它们放入所需的格式(xml/json 或其他格式)并将其公开给最终用户。正如@chrysler 所说,请查看sling docs 了解更多信息。
【讨论】:
在您的组件中编写一个选择器 jsp(json.html.jsp) 并调用您的服务方法,该方法将根据您的需要返回 JSON。
所以你的请求 URL 与选择器说 ../home.json.html 将返回所需的 json 输出。
注意:确保在不覆盖 cq 默认 json 调用时。例如:当您的请求 URL 类似于 ../home.json 并且您的选择器 jsp 是 json.jsp 时,这将覆盖开箱即用的 json 调用,您会发现创作对话框无法正常工作。
【讨论】: