Imparare a utilizzare GraphQL con AEM: contenuto di esempio e query
- Argomenti:
- Headless
Creato per:
- Amministratore
- Sviluppatore
Scopri come utilizzare GraphQL con AEM in modo da distribuire contenuti headless esplorando contenuti e query di esempio.
Come introduzione alle query GraphQL e per scoprire come funzionano con i frammenti di contenuto AEM, è utile visualizzare alcuni esempi pratici.
Per assistenza, consulta:
-
E alcuni esempi di query GraphQL, in base alla struttura del frammento di contenuto di esempio (modelli di Frammento di contenuto e frammenti di contenuto correlati).
GraphQL: query di esempio con l’utilizzo della struttura dei frammenti di contenuto di esempio
Approfondisci queste query di esempio per le illustrazioni di creazione query, insieme ai risultati di esempio.
- Strumenti -> Generale -> Editor query GraphQL
- direttamente; ad esempio,
http://localhost:4502/aem/graphiql.html
Query di esempio: tutti gli schemi e i tipi di dati disponibili
Restituisce tutto types
per tutti gli schemi disponibili.
Query di esempio
{
__schema {
types {
name
description
}
}
}
Risultato di esempio
{
"data": {
"__schema": {
"types": [
{
"name": "AdventureModel",
"description": null
},
{
"name": "AdventureModelArrayFilter",
"description": null
},
{
"name": "AdventureModelFilter",
"description": null
},
{
"name": "AdventureModelResult",
"description": null
},
{
"name": "AdventureModelResults",
"description": null
},
{
"name": "AllFragmentModels",
"description": null
},
{
"name": "ArchiveRef",
"description": null
},
{
"name": "ArrayMode",
"description": null
},
{
"name": "ArticleModel",
"description": null
},
...more results...
{
"name": "__EnumValue",
"description": null
},
{
"name": "__Field",
"description": null
},
{
"name": "__InputValue",
"description": null
},
{
"name": "__Schema",
"description": "A GraphQL Introspection defines the capabilities of a GraphQL server. It exposes all available types and directives on the server, the entry points for query, mutation, and subscription operations."
},
{
"name": "__Type",
"description": null
},
{
"name": "__TypeKind",
"description": "An enum describing what kind of type a given __Type is"
}
]
}
}
}
Query di esempio: tutte le informazioni su tutte le città
Per recuperare tutte le informazioni su tutte le città, puoi utilizzare la seguente query di base:
Query di esempio
{
cityList {
items
}
}
Una volta eseguita, il sistema la espande automaticamente per includere tutti i campi:
{
cityList {
items {
_path
name
country
population
}
}
}
Risultati di esempio
{
"data": {
"cityList": {
"items": [
{
"_path": "/content/dam/sample-content-fragments/cities/basel",
"name": "Basel",
"country": "Switzerland",
"population": 172258
},
{
"_path": "/content/dam/sample-content-fragments/cities/berlin",
"name": "Berlin",
"country": "Germany",
"population": 3669491
},
{
"_path": "/content/dam/sample-content-fragments/cities/bucharest",
"name": "Bucharest",
"country": "Romania",
"population": 1821000
},
{
"_path": "/content/dam/sample-content-fragments/cities/san-francisco",
"name": "San Francisco",
"country": "USA",
"population": 883306
},
{
"_path": "/content/dam/sample-content-fragments/cities/san-jose",
"name": "San Jose",
"country": "USA",
"population": 1026350
},
{
"_path": "/content/dam/sample-content-fragments/cities/stuttgart",
"name": "Stuttgart",
"country": "Germany",
"population": 634830
},
{
"_path": "/content/dam/sample-content-fragments/cities/zurich",
"name": "Zurich",
"country": "Switzerland",
"population": 415367
}
]
}
}
}
Query di esempio: nomi di tutte le città
Una query semplice che restituisce il name
di tutte le voci dello schema city
.
Query di esempio
query {
cityList {
items {
name
}
}
}
Risultati di esempio
{
"data": {
"cityList": {
"items": [
{
"name": "Basel"
},
{
"name": "Berlin"
},
{
"name": "Bucharest"
},
{
"name": "San Francisco"
},
{
"name": "San Jose"
},
{
"name": "Stuttgart"
},
{
"name": "Zurich"
}
]
}
}
}
Query di esempio: un singolo frammento di città specifico
Una query che restituisce i dettagli di una singola voce di frammento in una posizione specifica nell’archivio.
Query di esempio
{
cityByPath (_path: "/content/dam/sample-content-fragments/cities/berlin") {
item {
_path
name
country
population
categories
}
}
}
Risultati di esempio
{
"data": {
"cityByPath": {
"item": {
"_path": "/content/dam/sample-content-fragments/cities/berlin",
"name": "Berlin",
"country": "Germany",
"population": 3669491,
"categories": [
"city:capital",
"city:emea"
]
}
}
}
}
Query di esempio: tutte le città con una variante denominata
Se crei una variante, denominata “Berlino centro” (berlin_centre
), relativa alla city
Berlino, puoi utilizzare una query per restituire i dettagli della variante.
Query di esempio
{
cityList (variation: "berlin_center") {
items {
_path
name
country
population
categories
}
}
}
Risultati di esempio
{
"data": {
"cityList": {
"items": [
{
"_path": "/content/dam/sample-content-fragments/cities/berlin",
"name": "Berlin",
"country": "Germany",
"population": 3669491,
"categories": [
"city:capital",
"city:emea"
]
}
]
}
}
}
Query di esempio: nomi di tutte le città con tag City Breaks
Se:
- crei vari tag, denominati
Tourism
:Business
,City Break
eHoliday
- e li assegni alla variante principale di varie istanze
City
,
allora puoi utilizzare una query per restituire i dettagli di name
e tags
di tutte le voci classificate come Soggiorni in città nello schema city
.
Query di esempio
query {
cityList(
includeVariations: true,
filter: {_tags: {_expressions: [{value: "tourism:city-break", _operator: CONTAINS}]}}
){
items {
name,
_tags
}
}
}
Risultati di esempio
{
"data": {
"cityList": {
"items": [
{
"name": "Berlin",
"_tags": [
"tourism:city-break",
"tourism:business"
]
},
{
"name": "Zurich",
"_tags": [
"tourism:city-break",
"tourism:business"
]
}
]
}
}
}
Query di esempio: dettagli completi del CEO e dei dipendenti di un’azienda
Utilizzando la struttura dei frammenti nidificati, questa query restituisce tutti i dettagli del CEO e di tutti i dipendenti di una società.
Query di esempio
query {
companyList {
items {
name
ceo {
_path
name
firstName
awards {
id
title
}
}
employees {
name
firstName
awards {
id
title
}
}
}
}
}
Risultati di esempio
{
"data": {
"companyList": {
"items": [
{
"name": "Apple Inc.",
"ceo": {
"_path": "/content/dam/sample-content-fragments/persons/steve-jobs",
"name": "Jobs",
"firstName": "Steve",
"awards": []
},
"employees": [
{
"name": "Marsh",
"firstName": "Duke",
"awards": []
},
{
"name": "Caulfield",
"firstName": "Max",
"awards": [
{
"id": "GB",
"title": "Gameblitz"
}
]
}
]
},
{
"name": "Little Pony, Inc.",
"ceo": {
"_path": "/content/dam/sample-content-fragments/persons/adam-smith",
"name": "Smith",
"firstName": "Adam",
"awards": []
},
"employees": [
{
"name": "Croft",
"firstName": "Lara",
"awards": [
{
"id": "GS",
"title": "Gamestar"
}
]
},
{
"name": "Slade",
"firstName": "Cutter",
"awards": [
{
"id": "GB",
"title": "Gameblitz"
},
{
"id": "GS",
"title": "Gamestar"
}
]
}
]
},
{
"name": "NextStep Inc.",
"ceo": {
"_path": "/content/dam/sample-content-fragments/persons/steve-jobs",
"name": "Jobs",
"firstName": "Steve",
"awards": []
},
"employees": [
{
"name": "Smith",
"firstName": "Joe",
"awards": []
},
{
"name": "Lincoln",
"firstName": "Abraham",
"awards": []
}
]
}
]
}
}
}
Query di esempio: tutte le persone con nome “Jobs” o “Smith”
Una query che filtra tutte le persons
che hanno il nome Jobs
o Smith
.
Query di esempio
query {
personList(filter: {
name: {
_logOp: OR
_expressions: [
{
value: "Jobs"
},
{
value: "Smith"
}
]
}
}) {
items {
name
firstName
}
}
}
Risultati di esempio
{
"data": {
"personList": {
"items": [
{
"name": "Smith",
"firstName": "Adam"
},
{
"name": "Smith",
"firstName": "Joe"
},
{
"name": "Jobs",
"firstName": "Steve"
}
]
}
}
}
Query di esempio: tutte le persone che non hanno nome “Jobs”
Una query che filtra tutte le persons
che hanno il nome Jobs
o Smith
.
Query di esempio
query {
personList(filter: {
name: {
_expressions: [
{
value: "Jobs"
_operator: EQUALS_NOT
}
]
}
}) {
items {
name
firstName
}
}
}
Risultati di esempio
{
"data": {
"personList": {
"items": [
{
"name": "Lincoln",
"firstName": "Abraham"
},
{
"name": "Smith",
"firstName": "Adam"
},
{
"name": "Slade",
"firstName": "Cutter"
},
{
"name": "Marsh",
"firstName": "Duke"
},
{
"name": "Smith",
"firstName": "Joe"
},
{
"name": "Croft",
"firstName": "Lara"
},
{
"name": "Caulfield",
"firstName": "Max"
}
]
}
}
}
Query di esempio: tutte le avventure il cui _path
inizia con un prefisso specifico
Tutte le adventures
il cui _path
inizia con un prefisso specifico (/content/dam/wknd/en/adventures/cycling
).
Query di esempio
query {
adventureList(
filter: {
_path: {
_expressions: [
{
value: "/content/dam/wknd/en/adventures/cycling"
_operator: STARTS_WITH
}]
}
})
{
items {
_path
}
}
}
Risultati di esempio
{
"data": {
"adventureList": {
"items": [
{
"_path": "/content/dam/wknd/en/adventures/cycling-southern-utah/cycling-southern-utah"
},
{
"_path": "/content/dam/wknd/en/adventures/cycling-tuscany/cycling-tuscany"
}
]
}
}
}
Query di esempio: tutte le città in Germania o Svizzera con una popolazione compresa tra 400000 e 999999
In questo caso il filtro è impostato su una combinazione di campi. Viene utilizzato un AND
(implicito) per selezionare l’intervallo di population
, mentre un OR
(esplicito) viene utilizzato per selezionare le città richieste.
Query di esempio
query {
cityList(filter: {
population: {
_expressions: [
{
value: 400000
_operator: GREATER_EQUAL
}, {
value: 1000000
_operator: LOWER
}
]
},
country: {
_logOp: OR
_expressions: [
{
value: "Germany"
}, {
value: "Switzerland"
}
]
}
}) {
items {
name
population
country
}
}
}
Risultati di esempio
{
"data": {
"cityList": {
"items": [
{
"name": "Stuttgart",
"population": 634830,
"country": "Germany"
},
{
"name": "Zurich",
"population": 415367,
"country": "Switzerland"
}
]
}
}
}
Query di esempio: tutte le città con SAN nel nome, indipendentemente dalla maiuscola
Questa query interroga tutte le città che hanno SAN
nel nome, indipendentemente dalla maiuscola.
Query di esempio
query {
cityList(filter: {
name: {
_expressions: [
{
value: "SAN"
_operator: CONTAINS
_ignoreCase: true
}
]
}
}) {
items {
name
population
country
}
}
}
Risultati di esempio
{
"data": {
"cityList": {
"items": [
{
"name": "San Francisco",
"population": 883306,
"country": "USA"
},
{
"name": "San Jose",
"population": 1026350,
"country": "USA"
}
]
}
}
}
Query di esempio: filtro su un array con un elemento che deve verificarsi almeno una volta
Questa query filtra un array con un elemento (city:na
) che deve verificarsi almeno una volta.
Query di esempio
query {
cityList(filter: {
categories: {
_expressions: [
{
value: "city:na"
_apply: AT_LEAST_ONCE
}
]
}
}) {
items {
name
population
country
categories
}
}
}
Risultati di esempio
{
"data": {
"cityList": {
"items": [
{
"name": "San Francisco",
"population": 883306,
"country": "USA",
"categories": [
"city:beach",
"city:na"
]
},
{
"name": "San Jose",
"population": 1026350,
"country": "USA",
"categories": [
"city:na"
]
}
]
}
}
}
Query di esempio: filtro su un valore di array esatto
Questa query filtra un determinato valore di array.
Query di esempio
query {
cityList(filter: {
categories: {
_expressions: [
{
values: [
"city:beach",
"city:na"
]
}
]
}
}) {
items {
name
population
country
categories
}
}
}
Risultati di esempio
{
"data": {
"cityList": {
"items": [
{
"name": "San Francisco",
"population": 883306,
"country": "USA",
"categories": [
"city:beach",
"city:na"
]
}
]
}
}
}
Query di esempio per frammenti di contenuto nidificato: tutte le società con almeno un dipendente che ha nome “Smith”
Questa query illustra il filtro per qualsiasi person
di name
“Smith” e restituisce informazioni da due frammenti nidificati, company
e employee
.
Query di esempio
query {
companyList(filter: {
employees: {
_match: {
name: {
_expressions: [
{
value: "Smith"
}
]
}
}
}
}) {
items {
name
ceo {
name
firstName
}
employees {
name
firstName
}
}
}
}
Risultati di esempio
{
"data": {
"companyList": {
"items": [
{
"name": "NextStep Inc.",
"ceo": {
"name": "Jobs",
"firstName": "Steve"
},
"employees": [
{
"name": "Smith",
"firstName": "Joe"
},
{
"name": "Lincoln",
"firstName": "Abraham"
}
]
}
]
}
}
}
Query di esempio per frammenti di contenuto nidificato: tutte le aziende in cui tutti i dipendenti hanno vinto il premio “Gamestar”
Questa query illustra il filtraggio su tre frammenti nidificati: company
, employee
e award
.
Query di esempio
query {
companyList(filter: {
employees: {
_apply: ALL
_match: {
awards: {
_match: {
id: {
_expressions: [
{
value: "GS"
_operator:EQUALS
}
]
}
}
}
}
}
}) {
items {
name
ceo {
name
firstName
}
employees {
name
firstName
awards {
id
title
}
}
}
}
}
Risultati di esempio
{
"data": {
"companyList": {
"items": [
{
"name": "Little Pony, Inc.",
"ceo": {
"name": "Smith",
"firstName": "Adam"
},
"employees": [
{
"name": "Croft",
"firstName": "Lara",
"awards": [
{
"id": "GS",
"title": "Gamestar"
}
]
},
{
"name": "Slade",
"firstName": "Cutter",
"awards": [
{
"id": "GB",
"title": "Gameblitz"
},
{
"id": "GS",
"title": "Gamestar"
}
]
}
]
}
]
}
}
}
Esempio di query per metadati: elenco dei metadati per i riconoscimenti denominati GB
Questa query illustra il filtraggio su tre frammenti nidificati: company
, employee
e award
.
Query di esempio
query {
awardList(filter: {
id: {
_expressions: [
{
value:"GB"
}
]
}
}) {
items {
_metadata {
stringMetadata {
name,
value
}
}
id
title
}
}
}
Risultati di esempio
{
"data": {
"awardList": {
"items": [
{
"_metadata": {
"stringMetadata": [
{
"name": "title",
"value": "Gameblitz Award"
},
{
"name": "description",
"value": ""
}
]
},
"id": "GB",
"title": "Gameblitz"
}
]
}
}
}
Query di esempio con il progetto WKND
Queste query di esempio si basano sul progetto WKND. Presenta le seguenti:
-
Modelli di Frammento di contenuto disponibili in:
http://<hostname>:<port>/libs/dam/cfm/models/console/content/models.html/conf/wknd
-
Frammenti di contenuto (e altro contenuto) disponibili in:
http://<hostname>:<port>/assets.html/content/dam/wknd/en
http://<hostname>:<port>/assets.html/content/dam/wknd-shared/en
Query di esempio per tutti i Frammenti di contenuto di un determinato modello con le proprietà specificate
Questa query di esempio rappresenta un’interrogazione per ottenere:
- per tutti i Frammenti di contenuto di tipo
article
- con
_path
e le proprietà diauthorFragment
.
Query di esempio
{
articleList {
items {
_path
authorFragment {
_path
firstName
lastName
birthDay
}
}
}
}
Query di esempio per metadati
Questa query rappresenta un’interrogazione per ottenere:
- per tutti i frammenti di contenuto di tipo
adventure
- metadati
Query di esempio
{
adventureList {
items {
_path,
_metadata {
stringMetadata {
name,
value
}
stringArrayMetadata {
name,
value
}
intMetadata {
name,
value
}
intArrayMetadata {
name,
value
}
floatMetadata {
name,
value
}
floatArrayMetadata {
name,
value
}
booleanMetadata {
name,
value
}
booleanArrayMetadata {
name,
value
}
calendarMetadata {
name,
value
}
calendarArrayMetadata {
name,
value
}
}
}
}
}
Query di esempio per un singolo Frammento di contenuto di un modello specificato
Questa query di esempio rappresenta un’interrogazione per ottenere:
-
per un singolo frammento di contenuto di tipo
article
in un percorso specifico-
all’interno del frammento sono presenti tutti i formati di contenuto:
- HTML
- Markdown
- Testo normale
- JSON
-
Query di esempio
{
articleByPath(_path: "/content/dam/wknd-shared/en/magazine/alaska-adventure/alaskan-adventures") {
item {
_path
authorFragment {
_path
firstName
lastName
birthDay
}
main {
html
markdown
plaintext
json
}
}
}
}
Query di esempio per un modello per frammenti di contenuto derivante da un modello
Questa query di esempio rappresenta un’interrogazione per ottenere:
- un singolo frammento di contenuto
- dettagli del modello per frammenti di contenuto sottostante
Query di esempio
{
adventureByPath(_path: "/content/dam/wknd-shared/en/magazine/western-australia/western-australia-by-camper-van") {
item {
_path
title
_model {
_path
title
}
}
}
}
Query di esempio per un frammento di contenuto nidificato: tipo di modello singolo
Questa query rappresenta un’interrogazione per ottenere:
- un singolo frammento di contenuto di tipo
article
in un percorso specifico- all’interno del frammento è presente il percorso e l’autore del frammento (nidificato) a cui si fa riferimento
referencearticle
include il tipo di dati fragment-reference
.Query di esempio
{
adventureByPath(_path: "/content/dam/wknd-shared/en/magazine/western-australia/western-australia-by-camper-van") {
item {
_path
title
_model {
_path
title
}
}
}
}
Query di esempio per un frammento di contenuto nidificato: più tipi di modello
Tipo di modello di riferimento singolo
Questa query rappresenta un’interrogazione per ottenere:
- più frammenti di contenuto di tipo
bookmark
- con riferimenti ai frammenti ad altri frammenti del tipo di modello specifico
Article
- con riferimenti ai frammenti ad altri frammenti del tipo di modello specifico
fragments
include il tipo di dati fragment-reference
, con il modello Article
selezionato. La query fornisce fragments
come array di [Article]
.{
bookmarkList {
items {
fragments {
_path
author
}
}
}
}
Più tipi di modello di riferimento
Questa query rappresenta un’interrogazione per ottenere:
- più frammenti di contenuto di tipo
bookmark
- con riferimenti ai frammenti per altri frammenti di tipi di modello specifici
Article
eAdventure
- con riferimenti ai frammenti per altri frammenti di tipi di modello specifici
fragments
include il tipo di dati fragment-reference
, con i modelli Article
, Adventure
selezionati. La query fornisce fragments
come array di [AllFragmentModels]
, che viene dereferenziato con il tipo di unione.{
bookmarkList {
items {
fragments {
... on ArticleModel {
_path
author
}
... on AdventureModel {
_path
adventureTitle
}
}
}
}
}
Query di esempio per un frammento di contenuto di un modello specifico con riferimenti ai contenuti
Sono disponibili due tipi di questa query:
- Per restituire tutti i riferimenti ai contenuti.
- Per restituire riferimenti a contenuti specifici di tipo
attachments
.
Tali query rappresentano interrogazioni per ottenere:
- più frammenti di contenuto di tipo
bookmark
- con riferimenti ai contenuti per altri frammenti
Query di esempio per più frammenti di contenuto con riferimenti di prelettura
La query seguente restituisce tutti i riferimenti di contenuto utilizzando _references
:
{
bookmarkList {
_references {
... on ImageRef {
_path
type
height
}
... on MultimediaRef {
_path
type
size
}
... on DocumentRef {
_path
type
author
}
... on ArchiveRef {
_path
type
format
}
}
items {
_path
}
}
}
Query di esempio per più frammenti di contenuto con allegati
La query seguente restituisce tutti gli attachments
: un campo specifico (gruppo secondario) di tipo content-reference
:
attachments
include il tipo di dati content-reference
, con diversi moduli selezionati.{
bookmarkList {
items {
attachments {
... on PageRef {
_path
type
}
... on ImageRef {
_path
width
}
... on MultimediaRef {
_path
size
}
... on DocumentRef {
_path
author
}
... on ArchiveRef {
_path
format
}
}
}
}
}
Query di esempio per un frammento di contenuto di un modello specifico utilizzando riferimenti UUID
Tali query rappresentano interrogazioni per ottenere:
- l’UUID per un frammento di contenuto e per le risorse o i frammenti di contenuto di riferimento
- risultato restituito tramite la proprietà JSON
_id
Query di esempio per un frammento di contenuto di un modello specifico utilizzando un riferimento UUID
La query seguente restituisce tutti i riferimenti di contenuto utilizzando _id
e _path
:
{
articleList {
items {
_id
_path
title
featuredImage {
... on ImageRef {
_id
_path
}
}
authorFragment {
firstName
lastName
profilePicture {
... on ImageRef {
_id
_path
}
}
}
}
}
}
Query di esempio per frammenti di contenuto per riferimento UUID
La query seguente restituisce tutti i riferimenti di contenuto relativi a un _id
specifico:
{
articleById(_id: "3ce2bf53-7436-4d3e-b19a-2793bc2ca63e") {
item {
_id
_path
title
featuredImage {
... on ImageRef {
_id
_path
}
}
authorFragment {
firstName
lastName
profilePicture {
... on ImageRef {
_id
_path
}
}
}
}
}
}
Query di esempio per un singolo frammento di contenuto con riferimento dell’editor Rich Text in linea
Questa query rappresenta un’interrogazione per ottenere:
- un singolo frammento di contenuto di tipo
bookmark
in un percorso specifico- all’interno del quale, sono presenti riferimenti dell’editor Rich Text in linea
_references
.Query di esempio
{
bookmarkByPath(_path: "/content/dam/wknd/en/bookmarks/skitouring") {
item {
_path
description {
json
}
}
_references {
... on ArticleModel {
_path
}
... on AdventureModel {
_path
}
... on ImageRef {
_path
}
... on MultimediaRef {
_path
}
... on DocumentRef {
_path
}
... on ArchiveRef {
_path
}
}
}
}
Query di esempio per una singola variante di frammento di contenuto di un determinato modello
Questa query rappresenta un’interrogazione per ottenere:
- un singolo frammento di contenuto di tipo
author
in un percorso specifico- all’interno del frammento sono presenti dati relativi alla variante:
another
- all’interno del frammento sono presenti dati relativi alla variante:
Query di esempio
{
authorByPath(_path: "/content/dam/wknd-shared/en/contributors/ian-provo", variation: "another") {
item {
_path
_variation
firstName
lastName
birthDay
}
}
}
Query di esempio per una variante denominata di più frammenti di contenuto di un determinato modello
Questa query rappresenta un’interrogazione per ottenere:
- frammenti di contenuto di tipo
author
con una variante specifica:another
Query di esempio
{
authorList(variation: "another") {
items {
_path
_variation
firstName
lastName
birthDay
}
}
}
Query di esempio per più frammenti di contenuto, e relative varianti, di un determinato modello
Questa query rappresenta un’interrogazione:
- per frammenti di contenuto di tipo
article
e tutte le varianti
Query di esempio
query {
articleList(
includeVariations: true ){
items {
_variation
_path
_tags
_metadata {
stringArrayMetadata {
name
value
}
}
}
}
}
Query di esempio per le varianti di frammenti di contenuto di un determinato modello a cui è associato un tag specifico
Questa query rappresenta un’interrogazione:
- per frammenti di contenuto di tipo
article
con una o più varianti a cui è stato assegnato il tagWKND : Activity / Hiking
Query di esempio
{
articleList(
includeVariations: true,
filter: {_tags: {_expressions: [{value: "wknd:activity/hiking", _operator: CONTAINS}]}}
){
items {
_variation
_path
_tags
_metadata {
stringArrayMetadata {
name
value
}
}
}
}
}
Query di esempio per più frammenti di contenuto di una determinata lingua
Questa query rappresenta un’interrogazione per ottenere:
- frammenti di contenuto di tipo
article
all’interno della linguafr
Query di esempio
{
articleList(_locale: "fr") {
items {
_path
authorFragment {
_path
firstName
lastName
birthDay
}
main {
html
markdown
plaintext
json
}
}
}
}
Query a elenco di esempio con offset e limite
Questa query rappresenta un’interrogazione:
- per la pagina dei risultati contenenti fino a cinque articoli, a partire dal quinto articolo dall’elenco dei risultati completato
Query di esempio
{
articleList(offset: 5, limit: 5) {
items {
authorFragment {
_path
firstName
lastName
birthDay
}
_path
}
}
}
Query di impaginazione di esempio utilizzando prima e dopo
Questa query rappresenta un’interrogazione:
- per la pagina dei risultati contenente fino a cinque avventure, a partire dalla voce del cursore data nell’elenco dei risultati completato
Query di esempio
{
adventurePaginated(first: 5, after: "ODg1MmMyMmEtZTAzMy00MTNjLThiMzMtZGQyMzY5ZTNjN2M1") {
edges {
cursor
node {
title
}
}
pageInfo {
endCursor
hasNextPage
}
}
}
Query di esempio con filtro per ID _tags e varianti escluse
Questa query rappresenta un’interrogazione:
- per frammenti di contenuto di tipo
vehicle
con il tagbig-block
- varianti di esclusione
Query di esempio
query {
vehicleList(
filter: {
_tags: {
_expressions: [
{
value: "vehicles:big-block"
_operator: CONTAINS
}
]
}
}) {
items {
_variation
_path
type
name
model
fuel
_tags
}
}
}
Query di esempio con filtro per ID _tags e varianti incluse
Questa query rappresenta un’interrogazione:
- per frammenti di contenuto di tipo
vehicle
con il tagbig-block
- varianti di inclusione
Query di esempio
{
enginePaginated(after: "SjkKNmVkODFmMGQtNTQyYy00NmQ4LTljMzktMjhlNzQwZTY1YWI2Cmo5", first: 9 ,includeVariations:true, sort: "name",
filter: {
_tags: {
_expressions: [
{
value: "vehicles:big-block"
_operator: CONTAINS
}
]
}
}) {
edges{
node {
_variation
_path
name
type
size
_tags
_metadata {
stringArrayMetadata {
name
value
}
}
}
cursor
}
}
}
Query di esempio per la distribuzione di DAM e Dynamic Media Assets
Per la consegna di immagini ottimizzate per il web (di risorse DAM):
Per la consegna dell’URL a una risorsa Dynamic Media
Dall’Editor frammento di contenuto per la distribuzione di risorse remote non locali all’istanza corrente di AEM.
Struttura di esempio dei frammenti di contenuto (utilizzata con GraphQL)
Le query di esempio si basano sulla seguente struttura, che utilizza:
-
Uno o più modelli per frammenti di contenuto di esempio: costituisce la base per gli schemi GraphQL
-
Frammenti di contenuto di esempio basati sui modelli di cui sopra
Modelli per frammenti di contenuto di esempio (schemi)
Per le query di esempio, vengono utilizzati i seguenti modelli di contenuto e le relative interrelazioni (riferimenti ->):
Azienda
I campi di base che definiscono l’azienda sono:
Persona
I campi che definiscono un’utente, che può anche essere un dipendente:
Riconoscimento
I campi che definiscono un riconoscimento sono:
Città
I campi per la definizione di una città sono:
Frammenti di contenuto di esempio
I frammenti seguenti vengono utilizzati per il modello appropriato.
Azienda
Max Caulfield
Cutter Slade
Abe Lincoln
Persona
Gamestar
Riconoscimento
Città
city:emea
city:emea
city:na
city:emea