我正在尝试使用一个graphql查询来获取博客文章的所有必需信息。我正在使用gridsome和storyblok。为此,我正在使用此plugin。
第一个查询使用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,现在我有点不知所措。
答案 0 :(得分:1)
由于Storyblok具有组件,因此头等公民可以通过resolve_relations api函数来解析属性。这样,您还可以通过提供组件名称和属性(YOUR_COMPONENT.YOUR_ATTRIBUTE)来解析深度嵌套的组件中的属性。
{
use: 'gridsome-source-storyblok',
options: {
...
params: {
resolve_relations: 'article-post.authors,article-post.categories'
}
}
}