将 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 调用并且您会发现创作对话框无法正常工作。
我们面临这样一种情况,我们需要公开我们的 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 调用并且您会发现创作对话框无法正常工作。