Drupal GraphQL 集成问题

Posted

技术标签:

【中文标题】Drupal GraphQL 集成问题【英文标题】:Drupal GraphQL integration issues 【发布时间】:2018-09-22 02:12:26 【问题描述】:

背景 我有一个典型的 Drupal 8 安装后端,通过 JSON-API 模块导出到 api。我使用 Gatsby 作为前端,它有一个内置的 Drupal-GraphQL 源插件。 (我也是 GraphQL 的新手,所以这可能只是一个新手错误。)通过 GraphiQL 以简单的方式进行查询可以正常工作,但是...

问题 GraphQL 似乎无法识别 Drupal 模式,这意味着不能将参数传递给类型/节点(参见屏幕截图)。我不确定如何表达这个问题,因为我只能看到它出于任何原因都不起作用。这个项目是为一个时间紧迫的客户准备的,所以非常感谢任何帮助。

【问题讨论】:

【参考方案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")

看起来您正在查询所有节点而不是运行单个查询。或者更确切地说,尝试在那里的节点通道上传递一个 ID 似乎是不正确的,如果它与该 ID 匹配则期望它返回。

我还没有搞乱drupal和gatsby,所以我不是官方消息来源。只是说查询本身对我来说很奇怪。您是否有指向文档的链接,显示这是您如何使用 drupal 源插件查询 gatsby 中的单个节点?

【讨论】:

以上是关于Drupal GraphQL 集成问题的主要内容,如果未能解决你的问题,请参考以下文章

graphql-yoga 项目简单使用&&集成docker

无法使用 graphq-request 表示嵌套对象输入类型的数组

如何让 Drupal 8 视图与 GraphQL / Gatsby.js 一起使用

使用 apollo angular GraphQL 在 Drupal8 中添加用户

如何使用 graphql 获得 drupal 节点的特定翻译

gatsby-source-drupal 不显示 graphql 查询