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

JSON:API vs. módulo REST del núcleo

18/05/2025, by Ivan

TL;DR

Elige REST si tienes datos que no son entidades y quieres exponerlos. En todos los demás casos, elige JSON:API.

Un poco más detallado:

  • El módulo REST del núcleo permite cualquier cosa (cualquier formato, cualquier lógica, cualquier método HTTP) y ofrece una configurabilidad extrema. Es potente pero complejo y, por lo tanto, relativamente frágil.
  • JSON:API se centra en exponer la mayor fortaleza de Drupal (entidades/modelado de datos) de una manera coherente. Sencillo pero suficientemente potente para la mayoría de los casos de uso.

Matriz de características

Comparación de alto nivel basada en características entre JSON:API y REST.
Funcionalidad JSON:API REST Observación
Entidades expuestas como recursos ✔️ ✔️ REST: necesitas configurar esto por cada tipo de entidad. JSON:API: todo se expone por defecto. Ambos: respetan el acceso a entidades.
Datos personalizados expuestos como recursos   ✔️ Escribe plugins personalizados @RestResource. JSON:API solo admite entidades.
Obtener recursos individuales ✔️ ✔️  
Obtener listas de recursos ✔️ más o menos

REST: necesitas configurar una vista y establecer una visualización "REST export".

Paginación de listas de recursos ✔️ Se requieren módulos adicionales como Pager Serializer. REST: ¡no soportado! Las vistas REST export devuelven todos los recursos.
Filtrado de listas de recursos ✔️ más o menos

REST: solo si creas un filtro expuesto para cada campo y cada posible operador

Ordenación de recursos ✔️    
Inclusiones/embebidos ✔️ Solo en HAL+JSON  
Sin envoltorio innecesario de valores de campo ✔️   Tanto la normalización HAL como la normalización por defecto (y por lo tanto todos los formatos) exponen exactamente las estructuras de datos PHP en memoria que usa Drupal, lo que resulta doloroso para los consumidores. JSON:API simplifica la normalización de campos de cardinalidad y propiedad única.
Capacidad de omitir campos que el consumidor no necesita ✔️    
URLs consistentes ✔️    
El consumidor puede descubrir los tipos de recursos disponibles ✔️    
Estructura de respuesta independiente de Drupal ✔️   REST: la normalización HAL en teoría es ajena a Drupal, pero en la práctica no lo es.
Librerías cliente ✔️    
Especificación extensible WIP    
Cero configuración ✔️   REST: cada definición de plugin @RestResource puede exponerse, pero debe configurarse manualmente. Para cada uno, debes seleccionar los formatos permitidos, los proveedores de autenticación permitidos y opcionalmente los métodos HTTP permitidos.
JSON:API: todas las entidades se exponen automáticamente, se respeta el acceso a entidades/campos, y todos los proveedores de autenticación instalados se permiten automáticamente.

Más información

Consulta la justificación para añadir el módulo JSON:API al núcleo de Drupal, y la justificación de la arquitectura del módulo.

Artículo de Drupal Documentation.