2 votes

Problèmes d'intégration de Drupal GraphQL

ARRIÈRE-PLAN J'ai un backend d'une installation typique de Drupal 8, exportant dans une API via le module JSON-API. J'utilise Gatsby comme front-end, qui a un plugin source Drupal-GraphQL intégré. (Je suis également nouveau dans GraphQL, donc cela pourrait simplement être une erreur de débutant.) Interroger de manière simple via GraphiQL fonctionne bien, cependant...

LE PROBLÈME GraphQL ne semble pas reconnaître le schéma Drupal, ce qui signifie que les arguments ne peuvent pas être passés aux types/nœuds (voir capture d'écran). Je ne suis pas exactement sûr comment formuler le problème, car je ne peux voir que cela ne fonctionne pas pour une raison quelconque. Ce projet est pour un client avec une échéance serrée, donc toute aide est grandement appréciée.

entrer la description de l'image ici

0voto

Kai Qing Points 13588

Ce n'est pas censé être une réponse en soi. Trop complexe pour être ajouté en commentaire.

J'ai travaillé avec le plugin wordpress et en inspectant les exemples, j'ai trouvé une structure légèrement différente pour extraire un article individuel:

export const pageQuery = graphql`
  query currentPostQuery($id: String!) {
    wordpressPost(id: { eq: $id }) {
      title
      content
    }
    site {
      siteMetadata {
        title
        subtitle
      }
    }
  }
`

Et bien que je sois sûr que le plugin drupal aura une structure différente, est-il possible que graphql soit confus parce que vous passez:

node(id: "xxxx")

au lieu de

node(id: {eq: "xxxx"})

et il semble que vous interrogez tous les nœuds au lieu de lancer une seule requête. Ou plutôt, il ne semble pas correct d'essayer de passer un ID sur le canal du nœud là-bas, en espérant qu'il renvoie s'il correspond à cet ID.

Je n'ai pas encore eu à manipuler drupal et gatsby, donc je ne suis pas une source officielle. Je dis juste que la requête elle-même me semble étrange. Avez-vous un lien vers la documentation qui montre que c'est ainsi que vous interrogez un seul nœud dans gatsby avec le plugin source drupal?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X