比方說,我graphql服務器要在那裏person3
和person5
一些ID的獲取以下數據作爲JSON:與動態密鑰阿波羅/ GraphQL字段類型爲對象
"persons": {
"person3": {
"id": "person3",
"name": "Mike"
},
"person5": {
"id": "person5",
"name": "Lisa"
}
}
問題:如何創建模式類型定義與阿波羅?
這裏的密鑰person3
和person5
取決於我的查詢(即在查詢中使用的area
)動態生成。所以在另一次我可能會得到person1
,person2
,person3
返回。 正如你看到的persons
不是Iterable的,所以下面將不作爲graphql類型定義我與阿波羅做工作:
type Person {
id: String
name: String
}
type Query {
persons(area: String): [Person]
}
在persons
對象鍵可以永遠是不同的。
當然,一種解決方案是將傳入的JSON數據轉換爲使用persons
的數組,但是沒有辦法像這樣使用數據?
你能澄清一下'b'和'g'是什麼意思'動態生成取決於我的查詢嗎?一個或另一個的存在取決於請求中的字段嗎? –
@DanielRearden所以'b'和'g'都是id的。也許我應該在這個問題上更清楚一點。該查詢將包含僅用於獲取人員子集的選項,因此對於一個查詢,響應將包含id爲「a」,「b」,「c」的人員以及用於另一個查詢例如「b」和「g」的人員,如這個問題。 – Andru
@DanielRearden我現在把'b'改成'person3',把'g'改成'person 5',並加入了一些文字和變量以使其更清晰。該查詢將包含選項以僅獲取文本中概述的人員子集。 – Andru