8

GraphQL で文字列の配列であるオブジェクト プロパティのスキーマを作成するにはどうすればよいですか? 応答を次のようにしたい:

{
  name: "colors",
  keys: ["red", "blue"]
}

これが私のスキーマです

var keysType = new graphql.GraphQLObjectType({
  name: 'keys',
  fields: function() {
    key: { type: graphql.GraphQLString }
  }
});

var ColorType = new graphql.GraphQLObjectType({
  name: 'colors',
  fields: function() {
    return {
      name: { type: graphql.GraphQLString },
      keys: { type: new graphql.GraphQLList(keysType)
    };
  }
});

このクエリを実行すると、エラーが発生し、データがありません。エラーは単に[{}]

クエリ { 色 { 名前、キー } }

ただし、クエリを実行して名前だけを返すと、成功した応答が返されます。

クエリ { 色 { 名前 } }

キーを照会するときに文字列の配列を返すスキーマを作成するにはどうすればよいですか?

4

1 に答える 1

20

答えがわかった。キーはに渡すことgraphql.GraphQLStringですgraphql.GraphQLList()

スキーマは次のようになります。

var ColorType = new graphql.GraphQLObjectType({
  name: 'colors',
  fields: function() {
    return {
      name: { type: graphql.GraphQLString },
      keys: { type: new graphql.GraphQLList(graphql.GraphQLString)
    };
  }
});

このクエリの使用:

クエリ { 色 { 名前、キー } }

望ましい結果が得られます。

{
  name: "colors",
  keys: ["red", "blue"]
}
于 2016-06-23T20:54:12.837 に答える