将 CQ 内容公开为 restful 网络服务

Exposing CQ content as a restful webservice

我们面临这样一种情况,我们需要公开我们的 CQ 内容(如 XML 或 JSON)作为集成点。 任何实现此目标的指示都会有所帮助。

万事俱备! 您可以简单地获得每个节点的 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 作弊 sheet)

AEM 中的内容可以通过多种方式提供给最终用户,例如 html 页面、PDF、xml、json。

Sitemap.xml 是类似内容之一。您可以创建自定义 restful API 以从 JCR 存储库读取内容,将它们放入所需格式(xml/json 或其他格式)并将其公开给最终用户。正如@chrysler 所说,请查看 sling docs 了解更多信息。

在您的组件中编写一个选择器 jsp(json.html.jsp) 并调用您的服务方法,该方法将根据您的需要 return JSON。

所以你的请求 URL 与选择器说 ../home.json.html 将 return 所需的 json 输出。

注意:确保不覆盖 cq 默认 json 调用。例如:当您的请求 URL 类似于 ../home.json 并且您的选择器 jsp 是 json.jsp 时,这将覆盖开箱即用的 json 调用并且您会发现创作对话框无法正常工作。