Catégorie 04SKILLS

Drupal API

JSON:API, REST et GraphQL pour architectures Drupal headless et decoupled

Installation
Skill Claude — Globalmkdir -p ~/.claude/skills/drupal-api
JSON:API (core)drush en jsonapi -y
Simple OAuth (auth)composer require drupal/simple_oauth && drush en simple_oauth -y
GraphQL v4composer require drupal/graphql && drush en graphql -y
SKL
À propos

Skill Claude pour les API Drupal dans les architectures decoupled. Couvre JSON:API (core), les filtres/includes/pagination, l'authentification OAuth2 via Simple OAuth, les REST resources custom, le module GraphQL v4, et les modules JSON:API Extras et Decoupled Router.

Commandes
CommandeDescription
curl http://site.local/jsonapiExplorer l'index JSON:API (tous les resource types disponibles)
curl 'http://site.local/jsonapi/node/article?filter[status]=1&sort=-created&page[limit]=10'Articles publiés, triés par date, 10 par page
curl 'http://site.local/jsonapi/node/article/UUID?include=field_tags,uid'Inclure les relations (tags, auteur) dans la réponse
drush php:eval "print_r(\\Drupal::service('jsonapi.resource_type.repository')->all());"Lister tous les resource types JSON:API disponibles
drush en rest serialization basic_auth -yActiver le module REST API core
Exemples
API JSON:API avec filtres complexes et authentificationCODE
"Configure une API JSON:API Drupal avec :
1. Filtre par type de contenu ET statut publié ET langue 'fr'
2. Inclusion des relations field_image et field_categorie
3. Tri par date de création décroissante, pagination 20 résultats
4. Authentification Bearer via Simple OAuth
5. Exemple de PATCH pour modifier le titre d'un article
Montrer les commandes curl complètes avec les bons headers"
REST Resource pour endpoint métier customCODE
"Crée un REST Resource Drupal custom /api/v1/articles-en-vedette qui :
1. Retourne les 5 articles avec le plus de vues (field_view_count)
2. Inclut titre, image, résumé, URL alias, date
3. Met en cache la réponse avec des cache tags sur les noeuds
4. Authentification optionnelle (public en lecture, auth pour les drafts)
5. Format JSON standard (pas JSON:API, endpoint simple)"
Decoupled Drupal avec Next.jsCODE
"Explique l'architecture Drupal headless avec Next.js :
1. Configuration JSON:API + Simple OAuth dans Drupal
2. Fetch des articles dans getStaticProps avec token OAuth
3. Gestion du cache ISR (revalidate) aligné sur les cache tags Drupal
4. Drupal Decoupled Router pour résoudre les URLs/alias
5. Configuration CORS pour autoriser le domaine Next.js"