Toegang tot uw inhoud via AEM levering-API's access-your-content
In dit deel van de AEM Headless Reis van de Ontwikkelaar,kunt u leren hoe te om de vragen van GraphQL te gebruiken om tot de inhoud van uw Fragments van de Inhoud toegang te hebben en het te voeren aan uw app (koploze levering).
Het verhaal tot nu toe story-so-far
In het vorige document van de AEM hoofdloze reis, hoe te om Uw Inhoudte modelleren leerde u de grondbeginselen van inhoud modellerend in AEM leerde, zodat zou u nu moeten begrijpen hoe te om uw inhoudsstructuur te modelleren, dan realiseer die structuur die AEM de Modellen van het Fragment van de Inhoud en de Fragmenten van de Inhoud gebruikt:
- De concepten en terminologie met betrekking tot inhoudsmodellen herkennen.
- Begrijp waarom de inhoud modellering voor de levering van de Inhoud zonder Zwaartepunt nodig is.
- Begrijp hoe te om deze structuur te realiseren gebruikend AEM Modellen van het Fragment van de Inhoud (en auteursinhoud met de Fragmenten van de Inhoud.
- Begrijp hoe u uw inhoud modelleert; principes met basismonsters.
Dit artikel bouwt verder op die grondbeginselen zodat u begrijpt hoe te om tot uw bestaande inhoud zonder kop in AEM toegang te hebben gebruikend AEM GraphQL API.
-
Publiek: Begin
-
Doelstelling: Leer hoe te om tot de inhoud van uw Fragmenten van de Inhoud toegang te hebben gebruikend AEM vragen van GraphQL:
- Introduceer GraphQL en de AEM GraphQL API.
- Dive into the details of the AEM GraphQL API.
- Bekijk sommige steekproefvragen om te zien hoe de dingen in praktijk werken.
Wilt u dus toegang tot uw inhoud? so-youd-like-to-access-your-content
Dus…u hebt al deze inhoud, netjes gestructureerd (in inhoudsfragmenten), en gewoon wachtend om uw nieuwe app te voeden. De vraag is: hoe kan het daar komen?
U hebt een manier nodig om specifieke inhoud als doel in te stellen, te selecteren wat u nodig hebt en terug te sturen naar uw app voor verdere verwerking.
Met Adobe Experience Manager (AEM) as a Cloud Service hebt u selectief toegang tot uw inhoudsfragmenten, met de GraphQL API van AEM, om alleen de inhoud te retourneren die u nodig hebt. Dit betekent dat u zonder kop gestructureerde inhoud kunt leveren voor gebruik in uw toepassingen.
GraphQL - Een inleiding graphql-introduction
GraphQL is een open-source-specificatie die het volgende biedt:
- een querytaal waarmee u specifieke inhoud van gestructureerde objecten kunt selecteren.
- een runtime om deze query's uit te voeren met uw gestructureerde inhoud.
GraphQL is een sterk getypeerde API. Dit betekent dat alle inhoud duidelijk door type moet worden gestructureerd en worden georganiseerd, zodat GraphQL ** begrijpt wat om toegang te hebben en hoe. De gegevensvelden zijn gedefinieerd in GraphQL-schema's, die de structuur van de inhoudsobjecten definiëren.
De eindpunten van GraphQL verstrekken dan de wegen die aan de vragen van GraphQL antwoorden.
Dit alles betekent dat uw app de inhoud die het nodig heeft nauwkeurig, betrouwbaar en efficiënt kan selecteren - precies wat u nodig hebt bij AEM.
GRAPHQL API AEM aem-graphql-api
De AEM GraphQL API is een aangepaste versie gebaseerd op de standaard GraphQL API-specificatie, speciaal geconfigureerd om (complexe) query's uit te voeren op uw Content Fragments.
Inhoudsfragmenten worden gebruikt, omdat de inhoud is gestructureerd volgens Modellen van inhoudsfragmenten. Dit voldoet aan een basisvereiste van GraphQL.
- Een inhoudsfragmentmodel is samengesteld uit een of meer velden.
- Elk veld wordt gedefinieerd op basis van een gegevenstype.
- Modellen van inhoudsfragmenten worden gebruikt om de overeenkomstige AEM GraphQL-schema's te genereren.
Om tot GraphQL voor AEM (en de inhoud) eigenlijk toegang te hebben wordt een eindpunt gebruikt om de toegangspad te verstrekken.
De inhoud die wordt geretourneerd via de AEM GraphQL API kan vervolgens door uw toepassingen worden gebruikt.
Om u direct te helpen input, en testvragen, is een implementatie van de standaard interface GraphiQL ook beschikbaar voor gebruik met AEM GraphQL (dit kan met AEM worden geïnstalleerd). Het biedt functies zoals syntaxismarkering, automatisch aanvullen, automatisch suggereren, samen met een geschiedenis en online documentatie.
Inhoudsfragmenten voor gebruik met de AEM GraphQL API content-fragments-use-with-aem-graphql-api
Inhoudsfragmenten kunnen worden gebruikt als basis voor GraphQL voor AEM schema's en query's als:
- Zo kunt u pagina-onafhankelijke inhoud ontwerpen, maken, beheren en publiceren die zonder kop kan worden geleverd.
- Ze zijn gebaseerd op een Content Fragment Model, dat de structuur voor het resulterende fragment vooraf definieert met behulp van een selectie van gegevenstypen.
- Er kunnen extra structuurlagen worden bereikt met het gegevenstype Fragmentverwijzing, dat beschikbaar is wanneer u een model definieert.
Modellen van inhoudsfragmenten content-fragments-models
Deze modellen van inhoudsfragmenten:
- Wordt gebruikt om de Schema's te produceren, zodra Toegelaten.
- Geef de gegevenstypen en velden op die vereist zijn voor GraphQL. Ze zorgen ervoor dat uw toepassing alleen vraagt wat mogelijk is en wat wordt verwacht ontvangt.
- Het gegevenstype Verwijzingen van het Fragment kan in uw model worden gebruikt om een ander Fragment van de Inhoud van verwijzingen te voorzien, en zo extra niveaus van structuur introduceren.
Fragmentverwijzingen fragment-references
De Verwijzing van het Fragment:
-
Is een specifiek gegevenstype beschikbaar wanneer het bepalen van een Model van het Fragment van de Inhoud.
-
Verwijst naar een ander fragment, afhankelijk van een specifiek inhoudsfragmentmodel.
-
Hiermee kunt u gestructureerde gegevens maken en ophalen.
- Wanneer bepaald als a multifeed, kunnen de veelvoudige sub-fragmenten (teruggewonnen) door het eerste fragment van verwijzingen worden voorzien.
JSON-voorvertoning json-preview
Om u te helpen bij het ontwerpen en ontwikkelen van modellen van inhoudsfragmenten, kunt u een voorbeeld van JSON-uitvoer weergeven in de Content Fragment Editor.
De AEM GraphQL API daadwerkelijk gebruiken actually-using-aem-graphiql
Eerste instelling initial-setup
Voordat u begint met query's op uw inhoud, moet u:
-
Uw eindpunt inschakelen
- Extra > Algemeen > GraphQL
- GraphQL Endpoint inschakelen
- Dit zal ook GrahiQL winde toelaten.
Voorbeeldstructuur sample-structure
Om de AEM GraphQL API in een vraag eigenlijk te gebruiken, kunnen wij de twee zeer basisstructuren van het Model van het Fragment van de Inhoud gebruiken:
-
Bedrijf
- Naam - tekst
- CEO (Persoon) - Fragmentverwijzing
- Werknemers (personen) - Fragmentverwijzing(en)
-
Persoon
- Naam - tekst
- Voornaam - tekst
Zoals u kunt zien, verwijzen de gebieden CEO en Werknemers, naar de fragmenten van de Persoon.
De fragmentmodellen worden gebruikt:
- wanneer u de inhoud maakt in de Content Fragment Editor
- om de GraphQL-schema's te genereren waarop u een query uitvoert
Waar kan ik uw query's testen? where-to-test-your-queries
De vragen kunnen in de interface worden ingegaan GraphiQL. U kunt tot de vraagredacteur van één van beiden toegang hebben:
- Hulpmiddelen > Algemeen > de Redacteur van de Vraag van GraphQL
- direct; bijvoorbeeld
http://localhost:4502/aem/graphiql.html
Aan de slag met query's getting-Started-with-queries
Een duidelijke vraag moet de naam van alle ingangen in het schema van het Bedrijf terugkeren. Hier kunt u een lijst met alle bedrijfsnamen aanvragen:
query {
companyList {
items {
name
}
}
}
Een iets complexere vraag is om alle personen te selecteren die geen naam van "Banen"hebben. Hiermee worden alle personen gefilterd voor personen die niet de naam Taken hebben. Dit wordt bereikt met de operator EQUALS_NOT (er zijn nog veel meer):
query {
personList(filter: {
name: {
_expressions: [
{
value: "Jobs"
_operator: EQUALS_NOT
}
]
}
}) {
items {
name
firstName
}
}
}
U kunt ook complexere query's maken. Bijvoorbeeld, vraag voor alle bedrijven die minstens één werknemer met de naam van "Smith"hebben. Deze vraag illustreert het filtreren voor om het even welke persoon van naam "Smith", die informatie van over de genestelde fragmenten terugkeert:
query {
companyList(filter: {
employees: {
_match: {
name: {
_expressions: [
{
value: "Smith"
}
]
}
}
}
}) {
items {
name
ceo {
name
firstName
}
employees {
name
firstName
}
}
}
}
Voor alle informatie over het gebruik van de AEM GraphQL API en het configureren van de benodigde elementen kunt u verwijzen naar:
- GraphQL leren gebruiken met AEM
- De structuur van het voorbeeldinhoudsfragment
- GraphQL leren gebruiken met AEM - Voorbeeldinhoud en query's
Volgende functies whats-next
Nu u hebt geleerd om tot uw hoofdloze inhoud toegang te hebben en te vragen gebruikend AEM GraphQL API kunt u nu leren hoe te om REST API te gebruiken om tot de inhoud van uw Fragments van de Inhoud toegang te hebben en bij te werken.
Aanvullende bronnen additional-resources
-
GraphQL leren gebruiken met AEM - Voorbeeldinhoud en query's
-
Functionaliteit van inhoudsfragment inschakelen in configuratievenster
-
GraphQL Persisted Queries - caching inschakelen in Dispatcher
-
Begonnen het Worden met AEM Zwaartepunt- een korte videoles die een overzicht geven van het gebruiken van AEM zonder kop eigenschappen, met inbegrip van inhoud modelleren en GraphQL.