APIs do AEM para entrega e gerenciamento de conteúdo estruturado aem-apis-structured-content-delivery-and-management
O Adobe Experience Manager (AEM) as a Cloud Service oferece várias APIs para entrega de conteúdo estruturado a partir de fragmentos de conteúdo e do gerenciamento de fragmentos de conteúdo. Consulte as páginas individuais para obter mais detalhes sobre as APIs específicas.
-
Entrega de fragmento de conteúdo do AEM com OpenAPI
- Essa API cria respostas JSON para fornecer conteúdo estruturado de fragmentos de conteúdo no AEM.
- Ele usa um caminho para um fragmento de conteúdo como endpoint.
- Essa API é baseada em REST.
- Ele é otimizado para entrega de conteúdo, incluindo integração de CDN.
-
API do AEM GraphQL para entrega de fragmentos de conteúdo
- Essa API é baseada em esquemas. Os esquemas de API são representados por Modelos de fragmento de conteúdo, que definem a estrutura do conteúdo.
- Essa API é baseada no GraphQL.
-
Fragmentos de conteúdo e OpenAPIs de modelos de fragmento de conteúdo
- Essas APIs são destinadas ao gerenciamento de conteúdo estruturado.
- Os respectivos operadores do GET não estão otimizados para a entrega de conteúdo.
- Essa API é baseada em REST.
REST vs GraphQL rest-vs-graphql
A API usada é uma decisão para os desenvolvedores. O AEM oferece suporte a ambos.
Muitas comparações estão disponíveis online, mas alguns destaques e benefícios do REST incluem:
-
Simplicidade
-
Os desenvolvedores estão (geralmente) familiarizados com HTTP e REST. De acordo com o Estado Postman do relatório de APIs, uma alta porcentagem de desenvolvedores usam REST.
-
Com simplicidade vem a familiaridade. Com o REST, não há perguntas organizacionais sobre quem é o proprietário das consultas e quem é o proprietário do aplicativo, enquanto essas perguntas podem surgir com o GraphQL.
-
Com familiaridade (normalmente), existe uma ampla comunidade e um cenário de ferramentas. Não é uma desvantagem inerente do GraphQL, mas provavelmente será mais ampla e profunda para REST.
-
A abordagem mais simples também pode facilitar a implementação da segurança. Com REST, a filtragem para determinar o conteúdo para renderizar tudo acontece no aplicativo cliente. Com o GraphQL, isso acontece em uma consulta baseada em esquema entre cliente e servidor.
-
-
Flexibilidade
- Com REST, o desenvolvedor pode
GET
qualquer recurso. Com o GraphQL, eles são limitados a recursos definidos em um esquema.
- Com REST, o desenvolvedor pode
-
Armazenamento em cache
- As respostas JSON para solicitações REST
GET
são inerentemente armazenáveis em cache. As solicitações do GraphQLPOST
não podem ser armazenadas em cache, a menos que sejam feitas assim; por exemplo, usando as Consultas AEM persistidas armazenadas no servidor e solicitadas com solicitaçõesGET
semelhantes a REST.
- As respostas JSON para solicitações REST
Os benefícios da GraphQL incluem:
-
Eficiência da entrega de conteúdo
-
Foco
- Com o GraphQL, os aplicativos cliente podem solicitar o conteúdo exato que precisam para renderização - e não mais. Essa abordagem evita a entrega excessiva de conteúdo, com cargas úteis excessivas de conteúdo e consumo desnecessário de largura de banda.
-
Endpoint único
- Enquanto no REST cada solicitação de API é um endpoint, no GraphQL há apenas um endpoint comum e solicitações de conteúdo diferentes são expressas como consultas usando esse endpoint comum.
-
-
Prototipagem rápida
-
Com o GraphQL, esse é um processo de uma etapa, reunido na query do GraphQL, e pode facilitar a criação de protótipos. O REST, por outro lado, é um processo de duas etapas:
- Buscar conteúdo com a API.
- Na resposta JSON, determine o que usar para renderização no aplicativo do cliente.
-