1

我正在尝试使用一个 graphql 查询来获取博客文章所需的所有信息。我正在使用gridsomestoryblok。为此,我正在使用这个插件

第一个查询使用 ID 加载来自特定博客文章的所有内容,但不加载嵌套数据,如类别或作者。

例如:

<page-query>
    query StoryblokEntry ($id: ID) {
        storyblokEntry (id: $id) {
            id
            slug
            content
        }
    }
</page-query>

当我测试 ID 为“story-3850216-default”的查询时,我得到以下结果:

{
  "data": {
    "storyblokEntry": {
      "id": "story-3850216-default",
      "slug": "hello-world",
      "content": {
        "_uid": "f5a0bd9d-ec13-4381-ae5f-a7e2bb093fbe",
        "title": "Hello World ",
        "authors": [
          "61dec800-1b17-443e-961a-1cf8ef08d803"
        ],
        "content": "hi",
        "component": "article-post",
        "categories": [
          "e1509e6e-2007-4d4b-8857-4bc1105c5505"
        ],
      }
    }
  }
}

我应该怎么做,以便立即加载作者和类别的值?

我的背景来自普通的 REST-API,现在我有点不知所措。

4

1 回答 1

1

由于 Storyblok 具有作为一等公民的组件,因此可以通过 resolve_relations api 函数完成解析属性。这使您还可以通过提供组件名称和属性 (YOUR_COMPONENT.YOUR_ATTRIBUTE) 来解析深度嵌套组件中的属性。

{
  use: 'gridsome-source-storyblok',
  options: {
    ...
    params: {
      resolve_relations: 'article-post.authors,article-post.categories'
    }
  }
}
于 2019-11-14T16:36:06.727 回答