Formación para utilizar GraphQL con AEM: contenido y consultas de muestra learn-graphql-with-aem-sample-content-queries
Aprenda a utilizar GraphQL con AEM para ofrecer contenido sin encabezado explorando contenido y consultas de muestra.
Para empezar a utilizar las consultas de GraphQL y ver cómo funcionan con fragmentos de contenido de AEM, resulta útil ver algunos ejemplos prácticos.
Para ayudarle con esto, consulte lo siguiente:
-
Y algunas consultas de muestra de GraphQL, en función de la estructura de fragmento de contenido de muestra (modelos de fragmentos de contenido y fragmentos de contenido relacionados).
GraphQL: consultas de muestra con la estructura de fragmentos de contenido de muestra graphql-sample-queries-sample-content-fragment-structure
Vea estas consultas de muestra para ver de forma ilustrada la creación de consultas, junto con resultados de muestra.
- Herramientas > General > Editor de consultas de GraphQL
- directamente; por ejemplo,
http://localhost:4502/aem/graphiql.html
Consulta de muestra: todos los esquemas y tipos de datos disponibles sample-all-schemes-datatypes
Devuelve todos los types
para todos los esquemas disponibles.
Consulta de muestra
{
__schema {
types {
name
description
}
}
}
Resultado de muestra
{
"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"
}
]
}
}
}
Consulta de muestra: toda la información acerca de todas las ciudades sample-all-information-all-cities
Para recuperar toda la información acerca de todas las ciudades, puede utilizar la consulta básica:
Consulta de muestra
{
cityList {
items
}
}
Cuando se ejecuta, el sistema expande automáticamente la consulta para incluir todos los campos:
{
cityList {
items {
_path
name
country
population
}
}
}
Resultados de muestra
{
"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
}
]
}
}
}
Consulta de muestra: nombres de todas las ciudades sample-names-all-cities
Esta es una consulta directa para devolver el name
de todas las entradas del esquema city
.
Consulta de muestra
query {
cityList {
items {
name
}
}
}
Resultados de muestra
{
"data": {
"cityList": {
"items": [
{
"name": "Basel"
},
{
"name": "Berlin"
},
{
"name": "Bucharest"
},
{
"name": "San Francisco"
},
{
"name": "San Jose"
},
{
"name": "Stuttgart"
},
{
"name": "Zurich"
}
]
}
}
}
Consulta de muestra: un solo fragmento de ciudad específico sample-single-specific-city-fragment
Esta es una consulta para devolver los detalles de una sola entrada de fragmento en una ubicación específica del repositorio.
Consulta de muestra
{
cityByPath (_path: "/content/dam/sample-content-fragments/cities/berlin") {
item {
_path
name
country
population
categories
}
}
}
Resultados de muestra
{
"data": {
"cityByPath": {
"item": {
"_path": "/content/dam/sample-content-fragments/cities/berlin",
"name": "Berlin",
"country": "Germany",
"population": 3669491,
"categories": [
"city:capital",
"city:emea"
]
}
}
}
}
Consulta de muestra: todas las ciudades con una variación con nombre sample-cities-named-variation
Si crea una nueva variación, denominada “Centro de Berlín” (berlin_centre
), para el city
de Berlín, puede utilizar una consulta para devolver detalles de la variación.
Consulta de muestra
{
cityList (variation: "berlin_center") {
items {
_path
name
country
population
categories
}
}
}
Resultados de muestra
{
"data": {
"cityList": {
"items": [
{
"_path": "/content/dam/sample-content-fragments/cities/berlin",
"name": "Berlin",
"country": "Germany",
"population": 3669491,
"categories": [
"city:capital",
"city:emea"
]
}
]
}
}
}
Consulta de muestra: nombres de todas las ciudades etiquetadas como escapadas sample-names-all-cities-tagged-city-breaks
Si:
- crea varias etiquetas, con el nombre
Tourism
:Business
,City Break
yHoliday
- y las asigna a la variación Principal de varias instancias de
City
Entonces puede utilizar una consulta para devolver detalles de la name
y tags
de todas las entradas etiquetadas como City Breaks en el city
esquema.
Consulta de muestra
query {
cityList(
includeVariations: true,
filter: {_tags: {_expressions: [{value: "tourism:city-break", _operator: CONTAINS}]}}
){
items {
name,
_tags
}
}
}
Resultados de muestra
{
"data": {
"cityList": {
"items": [
{
"name": "Berlin",
"_tags": [
"tourism:city-break",
"tourism:business"
]
},
{
"name": "Zurich",
"_tags": [
"tourism:city-break",
"tourism:business"
]
}
]
}
}
}
Consulta de muestra: detalles completos del CEO y los empleados de una compañía sample-full-details-company-ceos-employees
Utilizando la estructura de los fragmentos anidados, esta consulta devuelve todos los detalles del CEO de una compañía y de todos sus empleados.
Consulta de muestra
query {
companyList {
items {
name
ceo {
_path
name
firstName
awards {
id
title
}
}
employees {
name
firstName
awards {
id
title
}
}
}
}
}
Resultados de muestra
{
"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": []
}
]
}
]
}
}
}
Consulta de muestra: todas las personas que tienen el apellido “Jobs” o “Smith” sample-all-persons-jobs-smith
Una consulta que filtra todas las persons
al buscar cualquiera que tenga el apellido Jobs
o Smith
.
Consulta de muestra
query {
personList(filter: {
name: {
_logOp: OR
_expressions: [
{
value: "Jobs"
},
{
value: "Smith"
}
]
}
}) {
items {
name
firstName
}
}
}
Resultados de muestra
{
"data": {
"personList": {
"items": [
{
"name": "Smith",
"firstName": "Adam"
},
{
"name": "Smith",
"firstName": "Joe"
},
{
"name": "Jobs",
"firstName": "Steve"
}
]
}
}
}
Consulta de muestra: todas las personas que no tienen el apellido “Jobs” sample-all-persons-not-jobs
Una consulta que filtra todas las persons
al buscar cualquiera que tenga el apellido Jobs
o Smith
.
Consulta de muestra
query {
personList(filter: {
name: {
_expressions: [
{
value: "Jobs"
_operator: EQUALS_NOT
}
]
}
}) {
items {
name
firstName
}
}
}
Resultados de muestra
{
"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"
}
]
}
}
}
Consulta de muestra: todas las aventuras cuya _path
comienza con un prefijo específico sample-wknd-all-adventures-cycling-path-filter
Todas las adventures
en que la _path
comienza con un prefijo específico (/content/dam/wknd/en/adventures/cycling
).
Consulta de muestra
query {
adventureList(
filter: {
_path: {
_expressions: [
{
value: "/content/dam/wknd/en/adventures/cycling"
_operator: STARTS_WITH
}]
}
})
{
items {
_path
}
}
}
Resultados de muestra
{
"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"
}
]
}
}
}
Consulta de muestra: todas las ciudades situadas en Alemania o Suiza con una población entre 400 000 y 999 999 sample-all-cities-d-ch-population
Aquí se filtra una combinación de campos. Un AND
(implícito) se utiliza para seleccionar el rango de population
, mientras que un OR
(explícito) se utiliza para seleccionar las ciudades requeridas.
Consulta de muestra
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
}
}
}
Resultados de muestra
{
"data": {
"cityList": {
"items": [
{
"name": "Stuttgart",
"population": 634830,
"country": "Germany"
},
{
"name": "Zurich",
"population": 415367,
"country": "Switzerland"
}
]
}
}
}
Consulta de muestra: todas las ciudades con SAN en el nombre, sin importar las mayúsculas sample-all-cities-san-ignore-case
Esta consulta busca todas las ciudades que tienen SAN
en el nombre, sin importar las mayúsculas.
Consulta de muestra
query {
cityList(filter: {
name: {
_expressions: [
{
value: "SAN"
_operator: CONTAINS
_ignoreCase: true
}
]
}
}) {
items {
name
population
country
}
}
}
Resultados de muestra
{
"data": {
"cityList": {
"items": [
{
"name": "San Francisco",
"population": 883306,
"country": "USA"
},
{
"name": "San Jose",
"population": 1026350,
"country": "USA"
}
]
}
}
}
Consulta de muestra: filtro en una matriz con un elemento que deba producirse al menos una vez sample-array-item-occur-at-least-once
Esta consulta filtra una matriz con un elemento (city:na
) que debe producirse al menos una vez.
Consulta de muestra
query {
cityList(filter: {
categories: {
_expressions: [
{
value: "city:na"
_apply: AT_LEAST_ONCE
}
]
}
}) {
items {
name
population
country
categories
}
}
}
Resultados de muestra
{
"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"
]
}
]
}
}
}
Consulta de muestra: filtro de un valor de matriz exacto sample-array-exact-value
Esta consulta filtra un valor de matriz exacto.
Consulta de muestra
query {
cityList(filter: {
categories: {
_expressions: [
{
values: [
"city:beach",
"city:na"
]
}
]
}
}) {
items {
name
population
country
categories
}
}
}
Resultados de muestra
{
"data": {
"cityList": {
"items": [
{
"name": "San Francisco",
"population": 883306,
"country": "USA",
"categories": [
"city:beach",
"city:na"
]
}
]
}
}
}
Consulta de muestra para fragmentos de contenido anidados: todas las compañías que tienen al menos un empleado con el apellido “Smith” sample-companies-employee-smith
Esta consulta ilustra el filtrado para cualquier person
de name
“Smith”, que devuelve información de entre dos fragmentos anidados: company
y employee
.
Consulta de muestra
query {
companyList(filter: {
employees: {
_match: {
name: {
_expressions: [
{
value: "Smith"
}
]
}
}
}
}) {
items {
name
ceo {
name
firstName
}
employees {
name
firstName
}
}
}
}
Resultados de muestra
{
"data": {
"companyList": {
"items": [
{
"name": "NextStep Inc.",
"ceo": {
"name": "Jobs",
"firstName": "Steve"
},
"employees": [
{
"name": "Smith",
"firstName": "Joe"
},
{
"name": "Lincoln",
"firstName": "Abraham"
}
]
}
]
}
}
}
Consulta de muestra para fragmentos de contenido anidados: todas las compañías en las que todos los empleados han ganado el premio “Gamestar” sample-all-companies-employee-gamestar-award
Esta consulta ilustra el filtrado entre tres fragmentos anidados: company
, employee
y award
.
Consulta de muestra
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
}
}
}
}
}
Resultados de muestra
{
"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"
}
]
}
]
}
]
}
}
}
Consulta de muestra para metadatos: enumera los metadatos de los premios titulados GB sample-metadata-awards-gb
Esta consulta ilustra el filtrado entre tres fragmentos anidados: company
, employee
y award
.
Consulta de muestra
query {
awardList(filter: {
id: {
_expressions: [
{
value:"GB"
}
]
}
}) {
items {
_metadata {
stringMetadata {
name,
value
}
}
id
title
}
}
}
Resultados de muestra
{
"data": {
"awardList": {
"items": [
{
"_metadata": {
"stringMetadata": [
{
"name": "title",
"value": "Gameblitz Award"
},
{
"name": "description",
"value": ""
}
]
},
"id": "GB",
"title": "Gameblitz"
}
]
}
}
}
Consultas de muestra con el proyecto WKND sample-queries-using-wknd-project
Estas consultas de muestra se basan en el proyecto WKND. Cuenta con lo siguiente:
-
Modelos de fragmentos de contenido disponibles en:
http://<hostname>:<port>/libs/dam/cfm/models/console/content/models.html/conf/wknd
-
Fragmentos de contenido (y otro contenido) disponibles en:
http://<hostname>:<port>/assets.html/content/dam/wknd/en
http://<hostname>:<port>/assets.html/content/dam/wknd-shared/en
Consulta de muestra para todos los fragmentos de contenido de un determinado modelo con las propiedades especificadas sample-wknd-all-model-properties
Esta consulta de muestra busca lo siguiente:
- para todos los fragmentos de contenido del tipo
article
- con
_path
y propiedades deauthorFragment
.
Consulta de muestra
{
articleList {
items {
_path
authorFragment {
_path
firstName
lastName
birthDay
}
}
}
}
Consulta de muestra para metadatos sample-wknd-metadata
Esta consulta busca lo siguiente:
- para todos los fragmentos de contenido del tipo
adventure
- metadatos
Consulta de muestra
{
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
}
}
}
}
}
Consulta de muestra para un solo fragmento de contenido de un modelo determinado sample-wknd-single-content-fragment-of-given-model
Esta consulta de muestra busca lo siguiente:
-
para un solo fragmento de contenido de tipo
article
en una ruta específica-
dentro de ese fragmento, todos los formatos de contenido:
- HTML
- Markdown
- Texto sin formato
- JSON
-
Consulta de muestra
{
articleByPath(_path: "/content/dam/wknd-shared/en/magazine/alaska-adventure/alaskan-adventures") {
item {
_path
authorFragment {
_path
firstName
lastName
birthDay
}
main {
html
markdown
plaintext
json
}
}
}
}
Consulta de muestra para un modelo de fragmento de contenido de un modelo sample-wknd-content-fragment-model-from-model
Esta consulta de muestra busca lo siguiente:
- para un solo fragmento de contenido
- detalles del modelo de fragmento de contenido subyacente
Consulta de muestra
{
adventureByPath(_path: "/content/dam/wknd-shared/en/magazine/western-australia/western-australia-by-camper-van") {
item {
_path
title
_model {
_path
title
}
}
}
}
Consulta de muestra para un fragmento de contenido anidado: tipo de modelo único sample-wknd-nested-fragment-single-model
Esta consulta busca lo siguiente:
- para un solo fragmento de contenido de tipo
article
en una ruta específica- dentro de ese fragmento, la ruta y el autor del fragmento (anidado) al que se hace referencia
referencearticle
tiene el tipo de datos fragment-reference
.Consulta de muestra
{
adventureByPath(_path: "/content/dam/wknd-shared/en/magazine/western-australia/western-australia-by-camper-van") {
item {
_path
title
_model {
_path
title
}
}
}
}
Consulta de muestra para un fragmento de contenido anidado: tipo de modelo múltiple sample-wknd-nested-fragment-multiple-model
Tipo de modelo al que se hace referencia única
Esta consulta busca lo siguiente:
- para varios fragmentos de contenido de tipo
bookmark
- con Referencias de fragmento a otros fragmentos de tipos de modelo específicos
Article
- con Referencias de fragmento a otros fragmentos de tipos de modelo específicos
fragments
tiene el Tipo de datos fragment-reference
, con el modelo Article
seleccionado. Entregas de consultas fragments
como una matriz de [Article]
.{
bookmarkList {
items {
fragments {
_path
author
}
}
}
}
Varios tipos de modelo a los que se hace referencia
Esta consulta busca lo siguiente:
- para varios fragmentos de contenido de tipo
bookmark
- con referencias de fragmento a otros fragmentos de tipos de modelo específicos
Article
yAdventure
- con referencias de fragmento a otros fragmentos de tipos de modelo específicos
fragments
tiene el tipo de datos fragment-reference
, con los modelos Article
y Adventure
seleccionados. Entregas de consultas fragments
como una matriz de [AllFragmentModels]
, a la que se hace referencia con el tipo de unión.{
bookmarkList {
items {
fragments {
... on ArticleModel {
_path
author
}
... on AdventureModel {
_path
adventureTitle
}
}
}
}
}
Consulta de muestra para un fragmento de contenido de un modelo específico con referencias de contenido sample-wknd-fragment-specific-model-content-reference
Hay dos tipos de consulta:
- Para devolver todas las referencias de contenido.
- Para devolver referencias de contenido específicas del tipo
attachments
.
Estas consultas buscan:
- para varios fragmentos de contenido de tipo
bookmark
- con referencias de contenido a otros fragmentos
Consulta de muestra para varios fragmentos de contenido con referencias recuperadas previamente sample-wknd-multiple-fragments-prefetched-references
La siguiente consulta devuelve todas las referencias de contenido utilizando _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
}
}
}
Consulta de muestra para varios fragmentos de contenido con archivos adjuntos sample-wknd-multiple-fragments-attachments
La siguiente consulta devuelve todos los attachments
, un campo específico (subgrupo) del tipo content-reference
:
attachments
tiene el tipo de datos content-reference
, con varios formularios seleccionados.{
bookmarkList {
items {
attachments {
... on PageRef {
_path
type
}
... on ImageRef {
_path
width
}
... on MultimediaRef {
_path
size
}
... on DocumentRef {
_path
author
}
... on ArchiveRef {
_path
format
}
}
}
}
}
Consultas de muestra para un fragmento de contenido de un modelo específico mediante referencias UUID sample-wknd-fragment-specific-model-uuid-references
Estas consultas buscan:
- el UUID para un fragmento de contenido y para fragmentos o recursos de contenido referenciados
- el resultado se devuelve mediante la propiedad JSON
_id
Consulta de muestra para un fragmento de contenido de un modelo específico mediante una referencia UUID sample-wknd-fragment-specific-model-using-a-uuid-reference
La siguiente consulta devuelve todas las referencias de contenido usando _id
y _path
:
{
articleList {
items {
_id
_path
title
featuredImage {
... on ImageRef {
_id
_path
}
}
authorFragment {
firstName
lastName
profilePicture {
... on ImageRef {
_id
_path
}
}
}
}
}
}
Consulta de muestra para fragmentos de contenido por referencia de UUID sample-wknd-fragment-specific-model-by-uuid-reference
La siguiente consulta devuelve todas las referencias de contenido relacionadas con un elemento específico _id
:
{
articleById(_id: "3ce2bf53-7436-4d3e-b19a-2793bc2ca63e") {
item {
_id
_path
title
featuredImage {
... on ImageRef {
_id
_path
}
}
authorFragment {
firstName
lastName
profilePicture {
... on ImageRef {
_id
_path
}
}
}
}
}
}
Consulta de muestra para un solo fragmento de contenido con referencia en línea RTE sample-wknd-single-fragment-rte-inline-reference
Esta consulta busca lo siguiente:
- para un solo fragmento de contenido de tipo
bookmark
en una ruta específica- dentro de él, referencias en línea RTE
_references
.Consulta de muestra
{
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
}
}
}
}
Consulta de muestra para una única variación de fragmento de contenido de un modelo determinado sample-wknd-single-fragment-given-model
Esta consulta busca lo siguiente:
- para un solo fragmento de contenido de tipo
author
en una ruta específica- dentro de ese fragmento, los datos relacionados con la variación:
another
- dentro de ese fragmento, los datos relacionados con la variación:
Consulta de muestra
{
authorByPath(_path: "/content/dam/wknd-shared/en/contributors/ian-provo", variation: "another") {
item {
_path
_variation
firstName
lastName
birthDay
}
}
}
Consulta de muestra para una variación con nombre de varios fragmentos de contenido de un modelo determinado sample-wknd-variation-multiple-fragment-given-model
Esta consulta busca lo siguiente:
- para fragmentos de contenido de tipo
author
con una variación específica:another
Consulta de muestra
{
authorList(variation: "another") {
items {
_path
_variation
firstName
lastName
birthDay
}
}
}
Consulta de muestra para varios fragmentos de contenido y sus variaciones de un modelo dado sample-wknd-multiple-fragment-variations-given-model
Esta consulta busca lo siguiente:
- para fragmentos de contenido de tipo
article
y todas las variaciones
Consulta de muestra
query {
articleList(
includeVariations: true ){
items {
_variation
_path
_tags
_metadata {
stringArrayMetadata {
name
value
}
}
}
}
}
Consulta de muestra para variaciones de fragmentos de contenido de un modelo dado que tienen una etiqueta específica adjunta sample-wknd-fragment-variations-given-model-specific-tag
Esta consulta busca lo siguiente:
- para fragmentos de contenido de tipo
article
con una o más variaciones que tiene la etiquetaWKND : Activity / Hiking
Consulta de muestra
{
articleList(
includeVariations: true,
filter: {_tags: {_expressions: [{value: "wknd:activity/hiking", _operator: CONTAINS}]}}
){
items {
_variation
_path
_tags
_metadata {
stringArrayMetadata {
name
value
}
}
}
}
}
Consulta de muestra para varios fragmentos de contenido de una configuración regional determinada sample-wknd-multiple-fragments-given-locale
Esta consulta busca lo siguiente:
- para fragmentos de contenido de tipo
article
dentro de la configuración regionalfr
Consulta de muestra
{
articleList(_locale: "fr") {
items {
_path
authorFragment {
_path
firstName
lastName
birthDay
}
main {
html
markdown
plaintext
json
}
}
}
}
Ejemplo de consulta de lista con desplazamiento y límite sample-list-offset-limit
Esta consulta busca lo siguiente:
- para la página de resultados que contienen hasta cinco artículos, a partir del quinto artículo de la lista de resultados completa
Consulta de muestra
{
articleList(offset: 5, limit: 5) {
items {
authorFragment {
_path
firstName
lastName
birthDay
}
_path
}
}
}
Ejemplo de consulta de paginación que utiliza primero y después sample-pagination-first-after
Esta consulta busca lo siguiente:
- para la página de resultados que contiene hasta cinco aventuras, empezando por el elemento de cursor dado en la lista de resultados completa:
Consulta de muestra
{
adventurePaginated(first: 5, after: "ODg1MmMyMmEtZTAzMy00MTNjLThiMzMtZGQyMzY5ZTNjN2M1") {
edges {
cursor
node {
title
}
}
pageInfo {
endCursor
hasNextPage
}
}
}
Consulta de muestra con filtrado por ID de _tags y excluyendo variaciones sample-filtering-tag-not-variations
Esta consulta busca lo siguiente:
- para fragmentos de contenido de tipo
vehicle
tener la etiquetabig-block
- exclusión de variaciones
Consulta de muestra
query {
vehicleList(
filter: {
_tags: {
_expressions: [
{
value: "vehicles:big-block"
_operator: CONTAINS
}
]
}
}) {
items {
_variation
_path
type
name
model
fuel
_tags
}
}
}
Consulta de muestra con filtrado por ID de _tags e incluyendo variaciones sample-filtering-tag-with-variations
Esta consulta busca lo siguiente:
- para fragmentos de contenido de tipo
vehicle
tener la etiquetabig-block
- incluyendo variaciones
Consulta de muestra
{
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
}
}
}
Consultas de muestra para el envío de DAM y Dynamic Media Assets sample-queries-delivery-DAM-DM
Para la entrega de imágenes optimizadas para la web (de recursos DAM):
Para la entrega de la URL a un recurso de Dynamic Media
Para la entrega de recursos remotos, que no son locales de la instancia de AEM actual, desde el Editor de fragmentos de contenido.
La estructura del fragmento de contenido de muestra (utilizada con GraphQL) content-fragment-structure-graphql
Las consultas de muestra se basan en la siguiente estructura, que utiliza:
-
Uno o más Modelos de fragmentos de contenido de muestra forman la base de los esquemas de GraphQL
-
Fragmentos de contenido de muestra basados en los modelos anteriores
Modelos de fragmentos de contenido de muestra (esquemas) sample-content-fragment-models-schemas
Para las consultas de muestra, se utilizan los siguientes modelos de contenido y sus interrelaciones (referencias ->):
Compañía model-company
Los campos básicos que definen a la compañía son los siguientes:
Persona model-person
Los campos que definen a una persona, que también puede ser un empleado:
Premio model-award
Los campos que definen un premio son los siguientes:
Ciudad model-city
Los campos para definir una ciudad son los siguientes:
Fragmentos de contenido de muestra sample-content-fragments
Los siguientes fragmentos se utilizan para el modelo adecuado.
Compañía fragment-company
Max Caulfield
Cutter Slade
Abe Lincoln
Persona fragment-person
Gamestar
Premio fragment-award
Ciudad fragment-city
city:emea
city:emea
city:na
city:emea