GraphQL:探索不带通配符(*)的API?

GraphQL:探索不带通配符(*)的API?,graphql,craftcms,headless-cms,Graphql,Craftcms,Headless Cms,我是GraphQL新手,不知道如何在没有通配符(*)的情况下探索API 我目前正在用GraphQL建立一个无头工艺CMS,我真的不知道我的数据是如何嵌套的 使用RESTAPI,我不可能只获取所有数据,因为我必须设置所有端点,因此我还必须知道所有字段名 那么,我怎样才能轻松地探索我的CMS数据结构呢 谢谢你的提示 干杯 美塞苔丝 ------编辑------- 如果我使用@simonpedro的建议: { __schema { types { name kind

我是GraphQL新手,不知道如何在没有通配符(*)的情况下探索API

我目前正在用GraphQL建立一个无头工艺CMS,我真的不知道我的数据是如何嵌套的

使用RESTAPI,我不可能只获取所有数据,因为我必须设置所有端点,因此我还必须知道所有字段名

那么,我怎样才能轻松地探索我的CMS数据结构呢

谢谢你的提示

干杯

美塞苔丝

------编辑------- 如果我使用@simonpedro的建议:

{
  __schema {
    types {
      name
      kind
      fields {
        name
      }
    }
  }
}
我可以看到很多类型(?)/字段(。。。 例如,我看到:

{
      "name": "FlexibleContentTeaser",
      "kind": "OBJECT",
      "fields": [
        {
          "name": "id"
        },
        {
          "name": "enabled"
        },
        {
          "name": "teaserTitle"
        },
        {
          "name": "text"
        },
        {
          "name": "teaserLink"
        },
        {
          "name": "teaserLinkConnection"
        }
      ]
但现在我想知道一个挑逗链接是如何构建的。 不知怎的,我发现了streamerlink(它是一个类型为
条目的字段,我可以在这里链接到另一个页面)的属性是
url
&
title

但是我如何设置查询以探索
striserlink
中可用的属性呢

我试过各种各样的问题,但我总是遇到这样的信息:

如果有人能给我另一个指针,告诉我如何找出我可以查询的属性,我会非常高兴


谢谢你

就我而言,目前还没有具有该功能的graphql实现。然而,如果您想做的是探索“数据结构”,即模式,那么您应该使用schema InstProspection,这就是我们所认为的(探索graphql模式)。例如,一个简单的graphql instrospection查询如下:

{
  __schema {
    types {
      name
      kind
      fields {
        name
      }
    }
  }
}

参考资料: -

更新以进行编辑:

我认为你想做的是: 提出这样一个问题

{
  __schema {
    types {
      name
      kind
      fields {
        name
        type {
          fields {
            name
          }
        }
      }
    }
  }
}

然后找到想要的类型字段,从中获取更多信息(字段)。类似这样的事情(我不知道这是否有效,只是一个想法):

const-typeflexibleContentStrater=data.\uu schema.types.find(t=>t==“flexibleContentStrater”)
const-striserlinkfield=typeflexiblecontentstriser.fields.find(f=>f.name==“striserlink”)
常量striserlinkfield=striserlinkfield.type.fields;

i、 您必须递归地遍历
类型
字段。

看起来很有希望。我去看看。ThxI个人更喜欢看到一个充满数据的完整API来探索它,但这肯定解决了我的问题。谢谢,不过我还有一个问题:使用您的解决方案,我只能看到根中的属性,但我想知道其中的内容。(我将编辑我的问题以获得更多的编辑功能…-->请参见上文)谢谢您进一步阐述。不幸的是,我并不真正理解这个过程。我确实进行了查询,但是我应该把JS代码放在哪里呢?我认为使用上面的查询获取数据不包含所需的字段。。。还是我错了?据我所知,您的数据对象已经包含了所有内容,还是我错了?