CQ5 / Adob​​e体验管理器可以无头使用吗?

时间:2017-02-06 20:09:16

标签: cq5 aem jcr

没有使用CQ / AEM的经验,但却陷入了深层次。

我有一种方法,我们有一个网络前端(使用Ember.js / handlebars构建)调用Web服务,然后加入数据(例如,您已观看了多少部电影)适当的内容(例如,网络服务知道在CMS中查找节点X;“感谢您观看所有这些电影!”)并将副本,图像和数据返回到单个JSON文档中。

当我有一个RESTful API到CMS时,这非常有效。

但是我现在被要求将Adobe Experience Manager / CQ5作为CMS,并且需要知道是否存在相同的内容。

我不认为这样做;我知道CQ5使用JCR / CRX作为其内容存储库,但从我看到的这些不会作为Web服务公开(只有语言级API可用)

AEM 6.2使用JCR OAK,承诺 RESTful API。

所以简而言之,我的问题是:JCR OAK是否为内容提供了RESTful API,如果有的话,任何人都可以提供任何示例/指针吗?

2 个答案:

答案 0 :(得分:3)

AEM附带Apache Sling,允许您通过HTTP请求访问JCR的内容。

DefaultGetServlet可以允许您使用json扩展名以JSON格式呈现内容。

例如:

http://localhost:4502/content/geometrixx-outdoors/en/men.infinity.json

返回以下JSON(为了便于阅读而缩短):

{
    jcr:primaryType: "cq:Page",
    jcr:createdBy: "admin",
    jcr:created: "Mon Jan 09 2017 14:44:46 GMT+1100",
    jcr:content: {
        jcr:primaryType: "cq:PageContent",
        jcr:mixinTypes: [
            "cq:LiveSync"
        ],
    jcr:createdBy: "admin",
    jcr:title: "Men's"
}

自AEM 6.1起,还有一个基于Siren的用户友好型API;但它尚未完全完成。

http://localhost:4502/api.json/content/geometrixx-outdoors/en/men.html

返回以下JSON(为了便于阅读而缩短):

{
    links: [
    {
        rel: [
            "self"
        ],
         href: "http://localhost:4502/api.json"
    },
    {
        rel: [
            "assets"
        ],
        href: "http://localhost:4502/api/assets.json"
    }
    ],
    class: [
        "core/services"
    ],
    properties: {
        name: "api"
    }
}

这些是OOTB功能,但您始终可以创建自己的Sling Servlet来公开您喜欢的内容。

答案 1 :(得分:1)

如果,无头,你的意思是你是否可以使用AEM而不使用它来托管你的网站,那么是的,它可以被用作其他人解释的Restful内容库。 AEM 6.1+对SPA有更多支持,因此您可能希望对其进行调查,而不是仅仅将其用作内容存储库。

相关问题