如何从storyblok使用Graphql加载嵌套数据?
我试图通过一个graphql查询获取博客文章所需的所有信息。我正在使用和。为此,我用这个 第一个查询使用ID加载特定博客文章中的所有内容,但不加载类别或作者之类的嵌套数据 例如:如何从storyblok使用Graphql加载嵌套数据?,graphql,gridsome,headless-cms,storyblok,Graphql,Gridsome,Headless Cms,Storyblok,我试图通过一个graphql查询获取博客文章所需的所有信息。我正在使用和。为此,我用这个 第一个查询使用ID加载特定博客文章中的所有内容,但不加载类别或作者之类的嵌套数据 例如: <page-query> query StoryblokEntry ($id: ID) { storyblokEntry (id: $id) { id slug content } } &
<page-query>
query StoryblokEntry ($id: ID) {
storyblokEntry (id: $id) {
id
slug
content
}
}
</page-query>
查询StoryblokEntry($id:id){
storyblokEntry(id:$id){
身份证件
鼻涕虫
内容
}
}
当我测试ID为“story-3850216-default”的查询时,我得到以下结果:
{
"data": {
"storyblokEntry": {
"id": "story-3850216-default",
"slug": "hello-world",
"content": {
"_uid": "f5a0bd9d-ec13-4381-ae5f-a7e2bb093fbe",
"title": "Hello World As Storyblok has components as first class citizens resolving a attribute can be done via the resolve_relations api function. This lets you also resolve attributes in deeply nested components just by providing the component name and the attribute (YOUR_COMPONENT.YOUR_ATTRIBUTE).
{
use: 'gridsome-source-storyblok',
options: {
...
params: {
resolve_relations: 'article-post.authors,article-post.categories'
}
}
}
{
“数据”:{
“storyblokEntry”:{
“id”:“story-3850216-default”,
“鼻涕虫”:“你好,世界”,
“内容”:{
“uid”:“f5a0bd9d-ec13-4381-ae5f-a7e2bb093fbe”,
“title”:“Hello World因为Storyblock具有作为一等公民的组件,可以通过resolve_relations api函数来解析属性。这样,您还可以通过提供组件名称和属性(您的_组件。您的_属性)来解析深度嵌套组件中的属性
这很有帮助。一个附带的问题。你如何缩小结果?目前它会生成许多我不需要知道的数据,比如uuid
,parent\u id
等等。我实际上只对作者的内容感兴趣。另一个问题是,当你使用可视化编辑器时,嵌套数据没有加载!一种方法是只需在编辑器的窗口.storyblock.get
方法中添加resolve\u relations
,但这感觉太草率了。