Como acessar seu conteúdo por meio das APIs de entrega do AEM access-your-content
Nesta parte da Jornada do desenvolvedor headless do AEM, você pode aprender a usar consultas GraphQL para acessar o conteúdo dos Fragmentos de conteúdo e alimentá-lo em seu aplicativo (entrega headless).
A história até agora story-so-far
No documento anterior da jornada headless do AEM, Como modelar seu conteúdo, você aprendeu as noções básicas da modelagem de conteúdo no AEM, então agora você deve entender como modelar a estrutura de conteúdo e, em seguida, colocar essa estrutura em prática usando Modelos de fragmento de conteúdo e Fragmentos de conteúdo do AEM:
- Reconhecer os conceitos e a terminologia relacionados à modelagem de conteúdo.
- Entender por que a modelagem de conteúdo é necessária para a entrega de conteúdo headless.
- Entender como colocar essa estrutura em prática usando Modelos de fragmento de conteúdo do AEM (e criar conteúdo com Fragmentos de conteúdo).
- Entender 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 do AEM.
-
Público-alvo: iniciante
-
Objetivo: aprender a acessar o conteúdo dos Fragmentos de conteúdo usando consultas GraphQL do AEM:
- Introdução à GraphQL e a API GraphQL do AEM.
- Aprenda os detalhes da API GraphQL do AEM.
- Observe algumas consultas de amostra para ver como as coisas funcionam na prática.
Gostaria de acessar seu conteúdo? so-youd-like-to-access-your-content
Todo esse conteúdo perfeitamente estruturado (em Fragmentos de conteúdo) está disponível para alimentar seu novo aplicativo. A questão é: como fazer isso?
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), você pode acessar seletivamente os fragmentos de conteúdo, usando a API do GraphQL AEM, para retornar somente o conteúdo necessário. Isso significa que você pode realizar a entrega headless de conteúdo estruturado para uso em seus aplicativos.
GraphQL: uma Introdução graphql-introduction
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 é uma API fortemente definida. Isso significa que todo o conteúdo deve ser claramente estruturado e organizado por tipo, para que a GraphQL entenda o que acessar e como. Os campos de dados são definidos nos esquemas GraphQL, que definem a estrutura dos objetos de conteúdo.
Os pontos de acesso da 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.
API GraphQL do AEM aem-graphql-api
A API GraphQL do AEM é uma versão personalizada com base na especificação padrão da API GraphQL, especialmente configurada para permitir que você execute 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 da 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 do AEM correspondentes.
Para acessar a GraphQL para o AEM (e o conteúdo), um ponto de acesso é usado para fornecer o caminho de acesso.
O conteúdo retornado, por meio da API GraphQL do 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 a GraphQL do AEM (isso pode ser instalado com o AEM). Isso fornece recursos como realce de sintaxe, preenchimento automático e sugestão automática, juntamente com um histórico e uma documentação online.
Fragmentos de conteúdo para uso com a API GraphQL do AEM content-fragments-use-with-aem-graphql-api
Os fragmentos de conteúdo podem ser usados como base para esquemas e consultas GraphQL do AEM, como:
- Eles permitem que você desenvolva, crie, prepare e publique conteúdo independente de página que possa ser entregue de forma headless.
- Eles são baseados 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 criar camadas adicionais de estrutura com o tipo de dados Referência de fragmento, disponível ao definir um modelo.
Modelos de fragmentos de conteúdo content-fragments-models
Esses modelos de fragmentos de conteúdo:
- São usados para gerar os esquemas, quando 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 fragment-references
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 json-preview
Para ajudar na criação e desenvolvimento dos modelos de fragmentos de conteúdo, é possível visualizar a saída JSON no editor de fragmento de conteúdo.
Usar de fato a API GraphQL do AEM actually-using-aem-graphiql
Configuração inicial initial-setup
Antes de começar com as consultas de conteúdo, você precisa:
-
Habilitar o seu ponto de acesso
- Use Ferramentas > Assets > GraphQL
- Habilitar seu ponto de acesso de GraphQL
-
Acessar GraphiQL (se necessário)
Estrutura de amostra sample-structure
Para usar de fato a API GraphQL do AEM em uma consulta, podemos usar duas estruturas muito básicas de modelo de fragmentos de conteúdo:
-
Empresa
- Nome - Texto
- CEO (Pessoa) - Referência do fragmento
- Funcionários (Pessoas) - Referência(s) do fragmento
-
Pessoa
- Nome - Texto
- Nome - Texto
Como você pode ver, os campos CEO e Funcionários fazem referência aos fragmentos de Pessoa.
Os modelos de fragmento sã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 where-to-test-your-queries
As consultas podem ser inseridas na Interface GraphiQL, por exemplo, em:
http://localhost:4502/aem/graphiql.html
Introdução às consultas getting-Started-with-queries
Uma consulta bastante simples é retornar o nome de todas as entradas no esquema 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 “Jobs”. Isso filtrará todas as pessoas, mantendo apenas as que não tenham o nome Jobs. Isso é feito com o operador EQUALS_NOT (há muitos outros):
query {
personList(filter: {
name: {
_expressions: [
{
value: "Jobs"
_operator: EQUALS_NOT
}
]
}
}) {
items {
name
firstName
}
}
}
Você também pode criar consultas mais complexas. Por exemplo: consultar todas as empresas que tenham pelo menos um funcionário com o nome de “Smith”. Esta consulta ilustra a filtragem de pessoas com o nome “Smith”, retornando informações dos fragmentos aninhados:
query {
companyList(filter: {
employees: {
_match: {
name: {
_expressions: [
{
value: "Smith"
}
]
}
}
}
}) {
items {
name
ceo {
name
firstName
}
employees {
name
firstName
}
}
}
}
Para obter os detalhes completos sobre o uso da API GraphQL do AEM, juntamente com a configuração dos elementos necessários, consulte:
- Saiba como usar o GraphQL com o AEM
- Amostra da estrutura do fragmento de conteúdo
- Saiba como usar o GraphQL com o AEM - Exemplos de conteúdo e consultas
O que vem a seguir whats-next
Agora que já sabe acessar e consultar seu conteúdo headless usando a API GraphQL do AEM, você pode aprender como usar a API REST para acessar e atualizar o conteúdo dos fragmentos de conteúdo.
Recursos adicionais additional-resources
-
Saiba como usar o GraphQL com o AEM - Exemplos de conteúdo e consultas
-
Ativar a funcionalidade de fragmento de conteúdo no navegador de configuração
-
Introdução ao AEM Headless - Uma pequena série de tutoriais em vídeo que fornece uma visão geral da utilização de recursos headless do AEM, incluindo a modelagem de conteúdo e o GraphQL.