Como acessar seu conteúdo por meio AEM APIs de entrega

Nesta parte do AEM Jornada de desenvolvedor sem periféricos, você pode aprender a usar consultas GraphQL para acessar o conteúdo dos Fragmentos de conteúdo e alimentá-lo em seu aplicativo (entrega sem cabeçalho).

A história até agora

No documento anterior da jornada sem cabeçalho AEM, Como modelar seu conteúdo você aprendeu as noções básicas da modelagem de conteúdo no AEM, então agora deve entender como modelar sua estrutura de conteúdo e, em seguida, perceber essa estrutura usando AEM Modelos de fragmento de conteúdo e Fragmentos de conteúdo:

  • Reconhecer os conceitos e a terminologia relacionados à modelagem de conteúdo.
  • Entenda por que a modelagem de conteúdo é necessária para a entrega de conteúdo sem interface.
  • Entenda como realizar essa estrutura usando AEM Modelos de fragmento de conteúdo (e criar conteúdo com Fragmentos de conteúdo).
  • Entenda como modelar o conteúdo; princípios com amostras básicas.

Este artigo se baseia nesses fundamentos para que você entenda como acessar o conteúdo headless existente no AEM usando a API GraphQL AEM.

  • Público: Iniciante
  • Objetivo: Saiba como acessar o conteúdo dos Fragmentos de conteúdo usando AEM consultas GraphQL:
    • Apresente GraphQL e a API GraphQL AEM.
    • Saiba mais sobre os detalhes da API GraphQL da AEM.
    • Observe algumas consultas de amostra para ver como as coisas funcionam na prática.

Então, gostaria de acessar seu conteúdo?

Então…você tem todo esse conteúdo, perfeitamente estruturado (em Fragmentos de conteúdo) e apenas esperando para alimentar seu novo aplicativo. A questão é: como chegar lá?

O que você precisa é de uma maneira de direcionar conteúdo específico, selecionar o que precisa e retorná-lo ao seu aplicativo para processamento adicional.

Com o Adobe Experience Manager (AEM) as a Cloud Service, é possível acessar seletivamente os Fragmentos de conteúdo, usando a API GraphQL AEM, para retornar somente o conteúdo necessário. Isso significa que você pode realizar a entrega sem interface de conteúdo estruturado para uso em seus aplicativos.

OBSERVAÇÃO

AEM API GraphQL é uma implementação personalizada, com base na especificação da API GraphQL padrão.

GraphQL - Uma introdução

GraphQL é uma especificação de código aberto que fornece:

  • um idioma de consulta que permite selecionar conteúdo específico de objetos estruturados.
  • um tempo de execução para realizar essas consultas com seu conteúdo estruturado.

GraphQL é um strong API digitada. Isso significa que all o conteúdo deve ser claramente estruturado e organizado por tipo, de modo que GraphQL entendimento o que acessar e como. Os campos de dados são definidos em esquemas GraphQL, que definem a estrutura dos objetos de conteúdo.

Os pontos de extremidade GraphQL fornecem os caminhos que respondem às consultas GraphQL.

Tudo isso significa que seu aplicativo pode selecionar com precisão, confiabilidade e eficiência o conteúdo de que precisa - exatamente o que você precisa quando usado com o AEM.

OBSERVAÇÃO

Consulte GraphQL.org e GraphQL.com.

API GraphQL do AEM

A API GraphQL da AEM é uma versão personalizada baseada na especificação GraphQL da API padrão, especialmente configurada para permitir a execução de consultas (complexas) nos Fragmentos de conteúdo.

Fragmentos de conteúdo são usados, pois o conteúdo é estruturado de acordo com Modelos de fragmento de conteúdo. Isso atende a um requisito básico do GraphQL.

  • Um Modelo de fragmento de conteúdo é composto de um ou mais campos.
    • Cada campo é definido de acordo com um Tipo de dados.
  • Os Modelos de Fragmento de conteúdo são usados para gerar os Esquemas GraphQL AEM correspondentes.

Para realmente acessar GraphQL para AEM (e o conteúdo), um ponto de extremidade é usado para fornecer o caminho de acesso.

O conteúdo retornado, por meio da API GraphQL da AEM, pode ser usado pelos seus aplicativos.

Para ajudá-lo a inserir diretamente e testar consultas, uma implementação da interface GraphiQL padrão também está disponível para uso com AEM GraphQL (isso pode ser instalado com AEM). Ele fornece recursos como realce de sintaxe, preenchimento automático, sugestão automática, juntamente com um histórico e documentação online.

OBSERVAÇÃO

A implementação da API GraphQL do AEM é baseada nas bibliotecas GraphQL do Java.

Fragmentos de conteúdo para uso com a API GraphQL do AEM

Os Fragmentos de conteúdo podem ser usados como base para GraphQL para AEM schemas e consultas como:

  • Eles permitem que você crie, crie, prepare e publique conteúdo independente de página que possa ser entregue sem periféricos.
  • Elas são baseadas em um Modelo de fragmento de conteúdo, que predefine a estrutura do fragmento resultante usando uma seleção de tipos de dados.
  • É possível obter camadas adicionais de estrutura com o tipo de dados Referência de fragmento , disponível ao definir um modelo.

Modelos de fragmentos do conteúdo

Esses Modelos de fragmento de conteúdo:

  • São usados para gerar os Esquemas, uma vez Ativados.
  • Fornecem os tipos de dados e campos necessários para o GraphQL. Garantem que seu aplicativo solicite apenas o que é possível e receba o que é esperado.
  • O tipo de dados Referências de fragmento pode ser usado no modelo para fazer referência a outro fragmento de conteúdo e, assim, introduzir níveis adicionais de estrutura.

Referências do fragmento

A Referência do fragmento:

  • É um tipo de dados específico disponível ao definir um Modelo de fragmento de conteúdo.

  • Faz referência a outro fragmento, dependente de um Modelo de fragmento de conteúdo específico.

  • Permite criar e recuperar dados estruturados.

    • Quando definido como multifeed, vários fragmentos secundários podem ser referenciados (recuperados) pelo fragmento principal.

Visualização JSON

Para ajudar na criação e desenvolvimento dos Modelos de fragmento de conteúdo, é possível visualizar a saída JSON no Editor de fragmento de conteúdo.

Visualização JSON

Na verdade, usando a API GraphQL AEM

Configuração inicial

Antes de começar com queries no seu conteúdo, você precisa:

Estrutura de exemplo

Para realmente usar a API GraphQL AEM em uma consulta, podemos usar as duas estruturas muito básicas do Modelo de fragmento de conteúdo:

  • Empresa
    • Nome - Texto
    • CEO (Pessoa) - Referência do fragmento
    • Funcionários (Pessoas) - Referência(ões) aos fragmentos
  • Pessoa
    • Nome - Texto
    • Nome - Texto

Como é possível ver, os campos CEO e Employees fazem referência aos fragmentos Pessoa.

Os modelos de fragmento serão usados:

  • ao criar o conteúdo no Editor de fragmento de conteúdo
  • para gerar os esquemas GraphQL que você consultará

Onde testar suas consultas

As consultas podem ser inseridas na interface GraphiQL. É possível acessar o editor de consultas por meio de:

  • Ferramentas -> Geral -> Editor de consultas GraphQL
  • diretamente; por exemplo, http://localhost:4502/aem/graphiql.html
Interface GraphiQL

Introdução a Consultas

Uma consulta simples é retornar o nome de todas as entradas no schema Empresa. Aqui você solicita uma lista de todos os nomes de empresas:

query {
  companyList {
    items {
      name
    }
  }
}

Uma consulta um pouco mais complexa é selecionar todas as pessoas que não têm o nome de "Trabalhos". Isso filtrará todas as pessoas para qualquer pessoa que não tenha o nome Trabalhos. Isso é feito com o operador EQUALS_NOT (há muito mais):

query {
  personList(filter: {
    name: {
      _expressions: [
        {
          value: "Jobs"
          _operator: EQUALS_NOT
        }
      ]
    }
  }) {
    items {
      name
      firstName
    }
  }
}

Você também pode criar consultas mais complexas. Por exemplo, consulte todas as empresas que tenham pelo menos um funcionário com o nome de "Smith". Esta consulta ilustra a filtragem de qualquer pessoa com o nome "Smith", retornando informações de todos os fragmentos aninhados:

query {
  companyList(filter: {
    employees: {
      _match: {
        name: {
          _expressions: [
            {
              value: "Smith"
            }
          ]
        }
      }
    }
  }) {
    items {
      name
      ceo {
        name
        firstName
      }
      employees {
        name
        firstName
      }
    }
  }
}

Para obter todos os detalhes sobre o uso da API GraphQL da AEM, juntamente com a configuração dos elementos necessários, é possível fazer referência a:

  • Aprendendo a usar GraphQL com AEM
  • A estrutura do fragmento de conteúdo de amostra
  • Saiba como usar o GraphQL com o AEM - Exemplos de conteúdo e consultas

O que vem a seguir

Agora que você aprendeu a acessar e consultar o conteúdo sem periféricos usando a API GraphQL AEM, agora é possível saiba como usar a REST API para acessar e atualizar o conteúdo dos Fragmentos de conteúdo.

Recursos adicionais

Nesta página