logo

Extra Block Types (EBT) - Nueva experiencia con Layout Builder❗

Extra Block Types (EBT): tipos de bloques con estilo y personalizables: Presentaciones de diapositivas, Pestañas, Tarjetas, Acordeones y muchos más. Configuraciones integradas para fondo, DOM Box y plugins de JavaScript. Experimenta hoy el futuro de la construcción de diseños.

Módulos de demostración EBT Descargar módulos EBT

❗Extra Paragraph Types (EPT) - Nueva experiencia con Paragraphs

Extra Paragraph Types (EPT): conjunto de módulos basado en párrafos de forma análoga.

Módulos de demostración EPT Descargar módulos EPT

Scroll
18/05/2025, by Ivan

Esta página muestra ejemplos de varias solicitudes GET para el módulo JSON:API.

En todos los ejemplos a continuación, no se requieren encabezados de solicitud. No se requiere autenticación si los usuarios anónimos pueden acceder a las entidades de contenido. Para entidades de configuración como menús, consulta las últimas secciones.

Ten en cuenta que en todos los casos, cuando se necesita un id, siempre es el uuid de la entidad, no el id de la entidad.

Encabezado Accept

Asegúrate de enviar siempre el encabezado accept: Accept: application/vnd.api+json.

curl \
  --header 'Accept: application/vnd.api+json' \
  ....

Ejemplo básico de GET

URL: http://example.com/jsonapi/node/article/{{article_uuid}}

Respuesta

Respuesta HTTP 200. El cuerpo de la respuesta contiene el objeto JSON:API de un único nodo artículo, incluyendo atributos, relaciones y enlaces.

GET de múltiples artículos

URL: http://example.com/jsonapi/node/article

Respuesta

Respuesta HTTP 200. El cuerpo de la respuesta contiene el objeto JSON:API de un máximo de 50 artículos, incluyendo enlace al siguiente.

GET de los primeros 10 artículos

URL: http://example.com/jsonapi/node/article?page[limit]=10

Respuesta

Respuesta JSON de máximo 10 artículos, incluyendo enlaces al siguiente.

GET de la segunda página de 10 artículos

URL: http://example.com/jsonapi/node/article?page[limit]=10&page[offset]=10

Respuesta

Respuesta HTTP 200. El cuerpo de la respuesta contiene el objeto JSON:API de un máximo de 10 artículos, incluyendo enlaces a anterior, siguiente, etc.

Para más información sobre paginación, consulta: https://www.drupal.org/docs/8/modules/jsonapi/pagination

GET de múltiples artículos ordenados

URL: http://example.com/jsonapi/node/article?sort=nid

Respuesta

Respuesta HTTP 200. El cuerpo de la respuesta contiene el objeto JSON:API de artículos, ordenados por nid en orden ascendente. Usa &sort=-nid para orden descendente.

Para más información sobre ordenación, consulta: https://www.drupal.org/node/2803141

GET de artículo filtrado por título

URL: http://example.com/jsonapi/node/article?filter[article-title][path]=title&filter[article-title][value]={{title_filter}}&filter[article-title][operator]==

Respuesta

Respuesta HTTP 200. El cuerpo de la respuesta contiene el objeto JSON:API de artículos filtrados por el campo 'title' cuyo valor coincide con '{{title_filter}}'

Para más información sobre filtros, consulta: https://www.drupal.org/node/2943641

GET de la url y uri del campo de referencia de imagen (media entity) de un artículo incluyendo referencias

Sintaxis más reciente

URL:

http://example.com/jsonapi/node/article/{{article_uuid}}?include=field_image&fields[file--file]=uri,url

Sintaxis anterior

URL: http://example.com/jsonapi/node/article/{{article_uuid}}?include=field_image,field_image.image,field_image.image.file--file&fields[field_image]=image&fields[file--file]=uri,url

Respuesta

Respuesta HTTP 200. El cuerpo de la respuesta contiene el objeto JSON:API con las relaciones de imagen media incluidas, correspondiente al nodo de artículo único con '{{article_uuid}}'

GET de artículo junto con todos los datos relacionados completos (autor, término de taxonomía, etc.)

URL: http://example.com/jsonapi/node/article?fields[node--article]=uid,title,created&include=uid

Respuesta

Respuesta HTTP 200. El cuerpo de la respuesta incluye un objeto de usuario con toda la información sobre el usuario asociado. La misma sintaxis funciona para otros datos relacionados como términos de taxonomía.

GET de artículo con campo de referencia a usuario, field_user_ref_example, y su perfil, ref_example_profile (campo de referencia dentro de otro campo de referencia)

URL: http://example.com/jsonapi/node/article/{{article_uuid}}?include=field_user_ref_example,field_user_ref_example.ref_example_profile

Respuesta

Respuesta HTTP 200. El cuerpo de la respuesta incluye un objeto de usuario con toda la información sobre el usuario asociado y su perfil. La misma sintaxis funciona para otros datos relacionados que también contienen un campo de referencia.

GET de artículo junto con algunos datos relacionados seleccionados (autor, término de taxonomía, etc.)

URL: http://example.com/jsonapi/node/article?fields[node--article]=uid,title,created&fields[user--user]=name,mail&include=uid

Respuesta

Respuesta HTTP 200. El cuerpo de la respuesta incluye un objeto de usuario que contiene los campos especificados en el objeto relacionado (en este caso, nombre y correo electrónico del autor). La misma sintaxis funciona para otros datos relacionados como términos de taxonomía.

GET de cuentas de usuario

URL: http://example.com/jsonapi/user/user?filter[anon][condition][path]=uid&filter[anon][condition][value]=0&filter[anon][condition][operator]=<>

Respuesta

Respuesta HTTP 200. El cuerpo de la respuesta contiene el objeto JSON:API de las cuentas de usuario del sistema, excluyendo la cuenta de usuario anónima. Ten en cuenta que si quieres obtener una lista de todas las cuentas de usuario, debes usar la consulta anterior, ya que simplemente hacer una solicitud GET a /jsonapi/user/user resultará en un error HTTP 403.

Obteniendo entidades de configuración

Como las entidades de configuración (menú, tipo de nodo, tour) no son iguales a las entidades de contenido (nodos, usuarios), esto es un poco más complejo. Actualmente las entidades de configuración son solo de lectura.

Para pruebas sencillas, usamos user-1 y el módulo basic_auth.

  1. Habilita el módulo basic auth
  2. Supón que el nombre de usuario user-1 es admin y la contraseña es admin

Usa el siguiente comando para listar los menús.

curl \
  --header 'Accept: application/vnd.api+json' \
  http://admin:admin@drupal.d8/jsonapi/menu/menu

Artículo de la Documentación de Drupal.