2017-02-06 5 views
0

CQ/AEMの経験はありませんが、深いところで投げられました。CQ5/Adob​​e Experience Managerをヘッドレスで使用できますか?

私はWebフロントエンド(Ember.js/handlebarsを使用して構築されています)を使用して、Webサービスを呼び出して、データを(たとえば見た映画の数など)適切なコンテンツ(例えば、WebサービスはCMS内のノードXを検索することを知っています;「これらすべての映画を見てくれてありがとう!」)、コピー、イメージ、データを単一のJSONドキュメントに返します。

これは、CMSへのRESTful APIを使用している場合にはうまく機能します。

しかし私は今、Adobe Experience Manager/CQ5をCMSにするよう依頼されており、同じことが存在するかどうかを知る必要があります。

私はそうは思わない。私はCQ5は、そのコンテンツ・リポジトリとしてのいずれかJCR/CRXを使用していることを知っているが、私は、これらは

AEM 6.2は、JCRのOAKを使用しています(使用可能な唯一の言語レベルAPI)Webサービスとして公開されていない見ることができるものからの約束 RESTfulなAPI。

私の質問は、JCR OAKがコンテンツにRESTfulなAPIを提供しているかどうかです。

+3

AEMはCRXをJSONとして公開する可能性があります。あなたは質問が[expose-adobe-aem-bundles-as-restful-webservices](https://stackoverflow.com/questions/41877499/expose-adobe-aem-bundles-as-restful-webservices)と同じ質問に関連しています。 – VAr

+0

システムの負荷には注意が必要です。 JSONリクエストをキャッシュする必要があります。 –

答えて

3

AEMにはApache Slingが付属しています。これにより、HTTP要求を使用してJCRの内容にアクセスできます。

DefaultGetServletを使用すると、json拡張子を使用してコンテンツをJSON形式で表示できます。例えば

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

が(読みやすくするために短縮)は、次のJSONを返します:AEM 6.1のよう

{ 
    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" 
} 

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

あなたのサイトのホストにAEMを使用せずにAEMを使用できるかどうかは、ヘッドレスの場合は、他の人に説明されているように快適なコンテンツリポジトリとして使用できます。 AEM 6.1+にはSPAのサポートが増えていますので、コンテンツリポジトリとしてのみ使用するルートを調べるのではなく、調査する必要があります。

関連する問題