Book Image

Drupal 10 Development Cookbook - Third Edition

By : Matt Glaman, Kevin Quillen
Book Image

Drupal 10 Development Cookbook - Third Edition

By: Matt Glaman, Kevin Quillen

Overview of this book

This new and improved third edition cookbook is packed with the latest Drupal 10 features such as a new, flexible default frontend theme - Olivero, and improved administrative experience with a new theme - Claro. This comprehensive recipe book provides updated content on the WYSIWYG (What You See Is What You Get) editing experience, improved core code performance, and code cleanup. Drupal 10 Development Cookbook begins by helping you create and manage a Drupal site. Next, you’ll get acquainted with configuring the content structure and editing content. You’ll also get to grips with all new updates of this edition, such as creating custom pages, accessing and working with entities, running and writing tests with Drupal, migrating external data into Drupal, and turning Drupal into an API platform. As you advance, you’ll learn how to customize Drupal’s features with out-of-the-box modules, contribute extensions, and write custom code to extend Drupal. By the end of this book, you’ll be able to create and manage Drupal sites, customize them to your requirements, and build custom code to deliver your projects.
Table of Contents (17 chapters)

Using PATCH to update data with JSON:API

Now that we know how to create some data in Drupal, let’s learn how to update existing data.

How to do it…

Our request will look similar to the POST request from the previous sections but with a few changes.

First, to update an entity in Drupal, you need to pass the entity UUID in the request payload for it to work. This is different than the numeric entity ID. You can get the UUID from fetching data from JSON:API, as we saw in the Fetching data from Drupal using JSON:API section. For the node that we created in our POST request, the UUID value is 1ddf244d-e8e6-40f5-be48-23bc8fa0fa3e.

Let’s go ahead and change the title and body of the article node we created previously. This time, we must pass the UUID in the URL as well as the request body:

   curl \
    --user chapter12:chapter12 \
    --header 'Accept: application/vnd.api+json' \
 &...