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

Actualización de recursos existentes (PATCH)

18/05/2025, by Ivan

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

Habilitar la operación de actualización

Visita /admin/config/services/jsonapi
y marca la opción "Aceptar todas las operaciones de crear, leer, actualizar y eliminar de JSON:API".

jsonapi-accept-create-read-update-delete

Autenticación

Típicamente, se utiliza algún tipo de autenticación para las solicitudes PATCH. Todos los ejemplos a continuación usan Autenticación Básica. Habilita el módulo de Autenticación Básica HTTP, asigna el permiso correspondiente al usuario (y al rol) de la API y agrega el nombre de usuario y contraseña codificados en el encabezado 'Authorization' de la solicitud.

El encabezado de ejemplo en esta página requiere un usuario de Drupal llamado 'api' con contraseña 'api'. Este usuario debe tener permiso para actualizar el contenido solicitado.

Encabezados

Los siguientes encabezados son obligatorios en todas las solicitudes PATCH para obtener una solicitud y respuesta JSON:API adecuadas.

  • Accept: application/vnd.api+json
  • Content-Type: application/vnd.api+json

El siguiente encabezado es necesario para que los ejemplos funcionen:

  • Authorization: Basic VALUE

Puedes obtener el VALUE anterior en tus aplicaciones usando la línea de comandos:

echo -n "USUARIO:CONTRASEÑA" | base64 -w0

Usa el valor retornado después de BASIC. En este ejemplo, las credenciales api:api devuelven YXBpOmFwaQ==, así que el encabezado será:

Authorization: Basic YXBpOmFwaQ==

Solicitud PATCH básica

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

Cuerpo de la solicitud

{
  "data": {
    "type": "node--article",
    "id": "{{article_uuid}}",
    "attributes": {
      "title": "Mi título actualizado"
    }
  }
}

El "id" es obligatorio. Agrega los atributos que deben ser actualizados.

Respuesta

Respuesta HTTP 200. El cuerpo de la respuesta contiene la respuesta JsonApi de la entidad actualizada.

PATCH con más atributos

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

Cuerpo de la solicitud

{
  "data": {
    "type": "node--article",
    "id": "{{article_uuid}}",
    "attributes": {
      "title": "Mi título actualizado",
      "body": {
        "value": "Texto del cuerpo actualizado",
        "format": "plain_text",
        "summary": "Resumen actualizado"
      }
    },
    "relationships": {
      "uid": {
        "data": {
          "type": "user--user",
          "id": "{{user_uuid}}"
        }
      }
    }
  }
}

Respuesta

Respuesta HTTP 200. El cuerpo de la respuesta contiene el body, resumen y autor actualizados de la entidad.

PATCH para eliminar una relación

{
  "data": {
    "type": "node--article",
    "id": "{{article_uuid}}",
    "attributes": {
      "title": "Mi título actualizado",
      "body": {
        "value": "Texto del cuerpo actualizado",
        "format": "plain_text",
        "summary": "Resumen actualizado"
      }
    },
    "relationships": {
      "my_entity_reference_field": {
        "data": {},
      }
    }
  }
}

Respuesta

Respuesta HTTP 200. El cuerpo de la respuesta contiene el body, resumen y la referencia de entidad eliminada.

Artículo de la Documentación de Drupal.