javascript - GraphQL 对象属性应该是一个字符串列表

标签 javascript node.js graphql graphql-js

如何为 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)
    };
  }
});

当我运行此查询时出现错误且没有数据,错误只是[{}]

查询{颜色{名称、键}}

但是,当我运行查询以仅返回名称时,我得到了成功的响应。

查询{颜色{名称}}

当我查询键时,如何创建一个返回字符串数组的模式?

最佳答案

我想出了答案。关键是将 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"]
}

关于javascript - GraphQL 对象属性应该是一个字符串列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37995394/

相关文章:

react-router - 中继/路由器登录突变?

javascript - bootstrap 表数据中不区分大小写的搜索

javascript - 如何为 Google Apps 脚本编写正确的文档?

javascript - 在 --harmony 模式下运行 Node shell 脚本

node.js - 我需要帮助尝试通过 Node 服务器的身份验证调用第 3 方 api

arrays - 使用 GraphQL/Apollo Server 时,是否应该为没有数据库结果而抛出错误?

javascript - 使用 GWT JsInterop 实现 Javascript 函数回调

javascript - 如何限制客户端通过 websocket 发送的数据量?

javascript - 为什么会有双console.log?

node.js - 如何在 NestJS GraphQL 解析器中访问 Response 对象