如何在类型定义中为 GraphQL 字段定义数组数据类型

Posted

技术标签:

【中文标题】如何在类型定义中为 GraphQL 字段定义数组数据类型【英文标题】:How to define an Array datatype for GraphQL field in Type definition 【发布时间】:2019-05-30 16:13:50 【问题描述】:

我正在开发一个 Nodejs 应用程序,我正在尝试为 graphQL 定义以下类型,但我无法弄清楚如何使用 javascript 数组类型定义字段。

const graphql = require('graphql');
const 
  GraphQLObjectType,
  GraphQLString,
  GraphQLID
  = graphql;
 const  Question  = require('../../../../models');

const QuestionChoiceType = new GraphQLObjectType(
  name: 'QuestionChoiceType',
  fields: () => (
    id:  type: GraphQLID ,
    correctChoice:  type: GraphQLString ,
    choices: [ type: GraphQLString ]
  )
);

module.exports = QuestionChoiceType;

【问题讨论】:

GraphQL field of type graphql object within an array的可能重复 【参考方案1】:

使用GraphQLList 定义一个列表/数组:

const QuestionChoiceType = new GraphQLObjectType(
  name: 'QuestionChoiceType',
  fields: () => (
    id:  type: GraphQLID ,
    correctChoice:  type: GraphQLString ,
    choices:  type: new GraphQLList(GraphQLString)
  )
);

【讨论】:

以上是关于如何在类型定义中为 GraphQL 字段定义数组数据类型的主要内容,如果未能解决你的问题,请参考以下文章

如何在我的GraphQL中为对象中的对象列表定义类型

OrchardCore 中为现有类型 实现自定义 Graphql 查询

数组中类型为 graphql 对象的 GraphQL 字段

在graphql中为用户类型中的字段编写字段级解析器

如何在 GraphQL 中为键值定义枚举

使用 Hasura graphql 模式时如何自定义 graphql-code-generator 生成的字段的类型