はのは、私のgraphqlサーバがperson3
とperson5
は、いくつかのidのあるJSONとして、以下のデータをフェッチしたいとしましょう:オブジェクトのアポロ/ GraphQLフィールドタイプに
"persons": {
"person3": {
"id": "person3",
"name": "Mike"
},
"person5": {
"id": "person5",
"name": "Lisa"
}
}
質問:どのようにスキーマを作成しますアポロとタイプ定義?
ここでのキーperson3
とperson5
は、クエリ(クエリで使用されているarea
)によって動的に生成されます。だから別の時に私はperson1
、person2
、person3
を返すかもしれません。 あなたがpersons
を見るように反復処理可能ではないので、以下では、私はアポロで行ったgraphql型定義として動作しません。
type Person {
id: String
name: String
}
type Query {
persons(area: String): [Person]
}
persons
オブジェクトのキーは常に異なる場合があります。
もちろん、受信したJSONデータをpersons
の配列を使用するように変換することもできますが、そのようなデータを扱う方法はありませんか?
「b」と「g」が「自分のクエリによって動的に生成される」という意味を明確にすることはできますか?どちらか一方の存在は要求に含まれるフィールドに依存しますか? –
@DanielReardenしたがって 'b'と' g'はidです。おそらく私はその質問をより明確にするべきです。クエリには人のサブセットのみを取得するオプションが含まれているので、1つのクエリでは、idの 'a'、' b'、 'c'の人が含まれ、' b'や 'g'のような別のクエリの場合、質問。 – Andru
@DanielRearden「b」を「person3」に、「g」を「person 5」に変更し、テキストと変数を追加してより明確にしました。このクエリには、テキストに概説されているように、人々のサブセットのみを取得するオプションが含まれます。 – Andru