Toegang tot uw inhoud via API's voor levering via AEM access-your-content
In dit deel van de Hoofdloze Reis van de Ontwikkelaar van AEM,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 (hoofdloze levering).
Het verhaal tot nu toe story-so-far
In het vorige document van de hoofdloze reis van AEM, hoe te om Uw Inhoudte modelleren leerde u de grondbeginselen van inhoud modellerend in AEM, zodat zou u nu moeten begrijpen hoe te om uw inhoudsstructuur te modelleren, dan realiseer die structuur gebruikend de Modellen van het Fragment van de Inhoud van AEM en de Fragments van de Inhoud:
- 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 u deze structuur kunt realiseren met AEM Content Fragment Models (en inhoud met Content Fragments schrijven).
- Begrijp hoe u uw inhoud modelleert; principes met basismonsters.
Dit artikel bouwt verder op deze basisbeginselen, zodat u begrijpt hoe u met de AEM GraphQL-API toegang krijgt tot inhoud zonder kop in AEM.
-
Publiek: Begin
-
Doelstelling: Leer hoe te om tot de inhoud van uw Fragmenten van de Inhoud toegang te hebben gebruikend de vragen van AEM 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 toegang tot uw inhoud? so-youd-like-to-access-your-content
Dus…je hebt al deze inhoud, netjes gestructureerd (in Content Fragments), en gewoon wachten om je 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) hebt u selectief toegang tot uw inhoudsfragmenten, met de AEM GraphQL API, 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 a sterk getypte 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 nodig is nauwkeurig, betrouwbaar en efficiënt kan selecteren - precies wat u nodig hebt bij gebruik met AEM.
AEM GRAPHQL API 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.
- Met Content Fragment Models worden de overeenkomstige AEM GraphQL-schema's gegenereerd.
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 for 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
- Gereedschappen > Assets > GraphQL
- GraphQL Endpoint inschakelen
-
Access GraphiQL (indien nodig)
Voorbeeldstructuur sample-structure
Als u de AEM GraphQL API daadwerkelijk in een query wilt gebruiken, kunt u de twee basisstructuren van het Content Fragment Model 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 GraphiQL, bijvoorbeeld, bij zijn ingegaan:
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 de volledige informatie over het gebruik van de AEM GraphQL API, samen met 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
-
Begonnen het Worden met de Zetel van AEM- een korte videolesreeks die een overzicht geeft van het gebruiken van AEM hoofdloze eigenschappen, met inbegrip van inhoud modellering en GraphQL.