Проблемы интеграции Drupal GraphQL

ИСТОРИЯ У меня есть серверная часть типичной установки Drupal 8, экспортируемая в api через модуль JSON-API. Я использую Gatsby в качестве интерфейса, который имеет встроенный исходный плагин Drupal-GraphQL. (Я также новичок в GraphQL, так что это может быть просто ошибка новичка.) Простые запросы через GraphiQL работают нормально, однако ...

ПРОБЛЕМА GraphQL, похоже, не распознает схему Drupal, что означает, что аргументы не могут быть переданы типам / узлам (см. Снимок экрана). Я не совсем уверен, как сформулировать проблему, так как вижу только то, что она не работает по какой-то причине. Этот проект предназначен для клиента в сжатые сроки, поэтому любая помощь очень ценится.

введите здесь описание изображения


person user2654408    schedule 12.04.2018    source источник


Ответы (1)


Это не должно быть ответом на слово. Слишком сложно добавить в качестве комментария.

Я работал с плагином wordpress и просматривая примеры из него, я обнаружил немного другую структуру для извлечения отдельного сообщения:

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

И хотя я уверен, что плагин drupal будет иметь другую структуру, возможно ли, что graphql запутался из-за того, что вы передаете:

node(id: "xxxx")

против

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

и похоже, что вы запрашиваете все узлы, а не выполняете один запрос. Или, скорее, не кажется правильным пытаться передать идентификатор на канале узла, ожидая, что он вернется, если он совпадает с этим идентификатором.

Мне еще не приходилось возиться с drupal и gatsby, так что я не официальный источник. Просто сказать, что сам запрос кажется мне странным. У вас есть ссылка на документацию, которая показывает, как вы запрашиваете один узел в gatsby с помощью плагина исходного кода drupal?

person Kai Qing    schedule 27.04.2018