logo

Extra Block Types (EBT) - Nuova esperienza con Layout Builder❗

Extra Block Types (EBT) - tipi di blocchi stilizzati e personalizzabili: Slideshows, Tabs, Cards, Accordion e molti altri. Impostazioni integrate per sfondo, DOM Box, plugin javascript. Vivi oggi il futuro della costruzione dei layout.

Demo moduli EBT Scarica moduli EBT

❗Extra Paragraph Types (EPT) - Nuova esperienza con Paragraphs

Extra Paragraph Types (EPT) - insieme di moduli basati su paragrafi in modo analogo.

Demo moduli EPT Scarica moduli EPT

Scorri

Aggiornamento delle risorse esistenti (PATCH)

04/09/2025, by Ivan

Questa pagina mostra esempi di richieste PATCH per il modulo JSON:API.

Abilitare l’operazione di aggiornamento

Visita /admin/config/services/jsonapi
e seleziona l’opzione "Accetta tutte le operazioni di creazione, lettura, aggiornamento ed eliminazione JSON:API".

jsonapi-accept-create-read-update-delete

Autenticazione

Di solito, per le richieste PATCH viene utilizzata una forma di autenticazione. Gli esempi seguenti utilizzano tutti l’Autenticazione di Base. Abilita il modulo HTTP Basic Authentication, imposta il permesso per l’utente (e il ruolo) dell’API e aggiungi il nome utente e la password codificati nell’intestazione della richiesta 'Authorization'.

L’intestazione di esempio in questa pagina richiede un utente Drupal 'api' con password 'api'. Questo utente deve avere il permesso di aggiornare il contenuto richiesto.

Intestazioni

Le seguenti intestazioni sono obbligatorie in tutte le richieste PATCH per ottenere una corretta richiesta e risposta JSON:API.

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

L’intestazione seguente è necessaria affinché gli esempi funzionino:

  • Authorization:Basic VALUE

Puoi ottenere il valore VALUE sopra nelle tue applicazioni usando la riga di comando:

echo -n "USERNAME:PASSWORD" | base64 -w0

Usa il valore restituito dopo BASIC. In questo esempio, le credenziali api:api restituiscono YXBpOmFwaQ==, quindi l’intestazione sarà:

Authorization:Basic YXBpOmFwaQ==

Richiesta PATCH di base

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

Corpo della richiesta

{
  "data": {
    "type": "node--article",
    "id": "{{article_uuid}}",
    "attributes": {
      "title": "Il mio titolo aggiornato"
    }
  }
}

L’"id" è obbligatorio. Aggiungi gli attributi che devono essere aggiornati.

Risposta

Risposta HTTP 200. Il corpo della risposta con la risposta JsonApi dell’entità aggiornata.

PATCH con più attributi

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

Corpo della richiesta

{
  "data": {
    "type": "node--article",
    "id": "{{article_uuid}}",
    "attributes": {
      "title": "Il mio titolo aggiornato",
      "body": {
        "value": "Testo del corpo aggiornato",
        "format": "plain_text",
        "summary": "Sommario aggiornato"
      }
    },
    "relationships": {
      "uid": {
        "data": {
          "type": "user--user",
          "id": "{{user_uuid}}"
        }
      }
    }
  }
}

Risposta

Risposta HTTP 200. Il corpo della risposta con corpo, sommario e autore aggiornati nell’entità.

PATCH per rimuovere una relazione

{
  "data": {
    "type": "node--article",
    "id": "{{article_uuid}}",
    "attributes": {
      "title": "Il mio titolo aggiornato",
      "body": {
        "value": "Testo del corpo aggiornato",
        "format": "plain_text",
        "summary": "Sommario aggiornato"
      }
    },
    "relationships": {
      "my_entity_reference_field": {
        "data": {},
      }
    }
  }
}

Risposta

Risposta HTTP 200. Il corpo della risposta con il corpo e il sommario aggiornati e il riferimento all’entità rimosso.

Articolo da Documentazione di Drupal.