0

我正在使用 localhost:8000/___graphq 调试器和gatsby-source-prismic从 prismic cms 返回我的切片。我按照自述文件中的步骤操作,并使用此代码段获得了正确的类型名称:

{
  prismicHomepage {
    data {
      body {
        __typename
      }
    }
  }
}

我的问题是创建内联片段:

{
  prismicHomepage {
    data {
      body {
        __typename
        ... on PrismicHomepageBodyText {
          text {
            html
          }
        }
      }
    }
  }
}

在此之后我得到错误:

{
  "errors": [
    {
      "message": "Cannot query field \"text\" on type \"PrismicHomepageBodyText\".",
      "locations": [
        {
          "line": 10,
          "column": 11
        }
      ]
    }
  ]
}

我的切片有 API ID : text 并且我创建了一个用这个切片填充的站点。

我可以毫无问题地获取任何其他 API ID,所以我忘记了什么?

4

1 回答 1

0

问题似乎与您创建的片段缺少主要部分有关。

切片的内部部分位于或位于主要部分或字段上(对于可重复项)。所以你的代码应该是这样的:

{
  prismicHomepage {
    data {
      body {
        __typename
        ... on PrismicHomepageBodyText {
          primary {
            text {
              html
            } 
          }
        }
      }
    }
  }
}

有关更多信息,请参见此处: https ://prismic.io/docs/graphql/query-the-api/retrieve-slice-content

于 2019-07-19T09:19:33.293 回答