Bestaande resources bijwerken (PATCH)
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.
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.