![](/img/trans.png)
[英]Next.js / graphql / apollo-server-micro => API resolved without sending a response for /api/graphql, this may result in stalled request
[英]GraphQL: Explore API without a wildcard (*)?
我是GraphQL的新手,我想知道如何在沒有可能的通配符(*)的情況下探索API( https://github.com/graphql/graphql-spec/issues/127 )。
我目前正在使用GraphQL設置無頭Craft CMS,但我真的不知道如何嵌套數據。
使用REST API進行事件時,我沒有機會獲取所有數據,因為我必須設置所有端點,因此也必須知道所有字段名稱。
那么,如何才能輕松探索CraftCMS數據結構?
感謝您對此的任何提示。
干杯
MERC
------編輯-------如果我使用@simonpedro的建議:
{
__schema {
types {
name
kind
fields {
name
}
}
}
}
我可以看到很多類型(?)/字段(?)...例如,我看到:
{
"name": "FlexibleContentTeaser",
"kind": "OBJECT",
"fields": [
{
"name": "id"
},
{
"name": "enabled"
},
{
"name": "teaserTitle"
},
{
"name": "text"
},
{
"name": "teaserLink"
},
{
"name": "teaserLinkConnection"
}
]
但是現在我想知道teaserLink ist的結構。 我以某種方式發現teaserLink(這是一個類型為Entries
的字段,我可以在其中鏈接到另一個頁面)具有url
& title
屬性。
但是,我將如何設置查詢以探索teaserLink
可用的屬性?
如果有人可以給我另一個指針,我將如何找出實際可以查詢的屬性,我將感到非常高興。
謝謝
就我而言,目前還沒有具有該功能的graphql實現。 但是,如果您想做的是探索“數據結構”(即模式),則應使用模式自省功能(為此考慮了這一點)(探索graphql模式)。 例如,一個簡單的graphql自省查詢將如下所示:
{
__schema {
types {
name
kind
fields {
name
}
}
}
}
參考資料: -https : //graphql.org/learn/introspection/
更新以進行編輯:
我想做的事情如下:進行這樣的查詢
{
__schema {
types {
name
kind
fields {
name
type {
fields {
name
}
}
}
}
}
}
然后找到所需的類型字段以從中獲取更多信息(這些字段)。 這樣的事情(我不知道這是否可行,只是一個想法):
const typeFlexibleContentTeaser = data.__schema.types.find(t => t === "FlexibleContentTeaser")
const teaserLinkField = typeFlexibleContentTeaser.fields.find(f => f.name === "teaserLink")
const teaserLinkField = teaserLinkField.type.fields;
即,您必須遞歸地遍歷type
字段。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.