logo

Extra Block Types (EBT) - New Layout Builder experience❗

Extra Block Types (EBT) - styled, customizable block types: Slideshows, Tabs, Cards, Accordions and many others. Built-in settings for background, DOM Box, javascript plugins. Experience the future of layout building today.

Demo EBT modules Download EBT modules

❗Extra Paragraph Types (EPT) - New Paragraphs experience

Extra Paragraph Types (EPT) - analogical paragraph based set of modules.

Demo EPT modules Download EPT modules

Scroll

Bestaande resources bijwerken (PATCH)

04/09/2025, by Ivan

Deze pagina toont voorbeelden van PATCH-verzoeken voor de JSON:API module.

Update-operatie inschakelen

Ga naar /admin/config/services/jsonapi
en vink de optie "Alle JSON:API create-, read-, update- en delete-operaties toestaan." aan.

jsonapi-accept-create-read-update-delete

Authenticatie

Gewoonlijk wordt er een vorm van authenticatie gebruikt voor PATCH-verzoeken. De onderstaande voorbeelden gebruiken allemaal Basic Authentication. Schakel de HTTP Basic Authentication-module in, stel de permissie in voor de API-gebruiker (en rol) en voeg de gecodeerde gebruikersnaam en het wachtwoord toe aan de 'Authorization'-header van het verzoek.

De voorbeeldheader op deze pagina vereist een Drupal-gebruiker 'api' met wachtwoord 'api'. Deze gebruiker moet toestemming hebben om de gevraagde content bij te werken.

Headers

De volgende headers zijn vereist voor alle PATCH-verzoeken om een correcte JSON:API-aanvraag en -antwoord te krijgen.

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

De volgende header is nodig om de voorbeelden te laten werken:

  • Authorization:Basic VALUE

Je kunt de bovenstaande VALUE verkrijgen in je applicaties via de command line:

echo -n "GEBRUIKERSNAAM:WACHTWOORD" | base64 -w0

Gebruik de geretourneerde waarde hierboven na BASIC. In dit voorbeeld geven de inloggegevens api:api YXBpOmFwaQ== terug, dus de header ziet er als volgt uit:

Authorization:Basic YXBpOmFwaQ==

Eenvoudig PATCH-verzoek

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

Request body

{
  "data": {
    "type": "node--article",
    "id": "{{article_uuid}}",
    "attributes": {
      "title": "Mijn bijgewerkte titel"
    }
  }
}

Het "id"-veld is verplicht. Voeg de attributen toe die moeten worden bijgewerkt.

Response

HTTP 200 response. De response body met de JsonApi-response van de bijgewerkte entiteit.

PATCH met meer attributen

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

Request body

{
  "data": {
    "type": "node--article",
    "id": "{{article_uuid}}",
    "attributes": {
      "title": "Mijn bijgewerkte titel",
      "body": {
        "value": "Bijgewerkte bodytekst",
        "format": "plain_text",
        "summary": "Bijgewerkte samenvatting"
      }
    },
    "relationships": {
      "uid": {
        "data": {
          "type": "user--user",
          "id": "{{user_uuid}}"
        }
      }
    }
  }
}

Response

HTTP 200 response. De response body met bijgewerkte body, samenvatting en auteur van de entiteit.

PATCH om een relatie te verwijderen

{
  "data": {
    "type": "node--article",
    "id": "{{article_uuid}}",
    "attributes": {
      "title": "Mijn bijgewerkte titel",
      "body": {
        "value": "Bijgewerkte bodytekst",
        "format": "plain_text",
        "summary": "Bijgewerkte samenvatting"
      }
    },
    "relationships": {
      "my_entity_reference_field": {
        "data": {},
      }
    }
  }
}

Response

HTTP 200 response. De response body met de bijgewerkte body, samenvatting en waarbij de entity reference is verwijderd.

Artikel van Drupal Documentatie.