如何在 GraphQL Nexus 的数组中定义非空元素?
Posted
技术标签:
【中文标题】如何在 GraphQL Nexus 的数组中定义非空元素?【英文标题】:How to defined non-null elements inside an array in GraphQL Nexus? 【发布时间】:2021-05-05 11:54:07 【问题描述】:我正在使用 GraphQL Nexus 来实现我的 GraphQL 架构。
我要创建的目标 GraphQL 类型是这样的:
input UserCreateInput
email: String!
name: String
posts: [PostCreateInput!]!
但是,我不确定如何创建 PostCreateInput
数组,使得 posts
的 元素 也是必需的。
现在这就是我所拥有的:
input UserCreateInput
email: String!
name: String
posts: [PostCreateInput]!
这是由这个 Nexus 类型定义支持的:
const UserCreateInput = inputObjectType(
name: 'UserCreateInput',
definition(t)
t.nonNull.string('email')
t.string('name')
t.nonNull.list.field('posts',
type: 'PostCreateInput',
)
,
)
有没有办法告诉 Nexus 每个数组元素都应该是非空的?
【问题讨论】:
【参考方案1】:在这种情况下,在list
之后添加nonNull
就足够了。所以类似于以下内容:
const UserCreateInput = inputObjectType(
name: 'UserCreateInput',
definition(t)
t.nonNull.string('email')
t.string('name')
t.nonNull.list.nonNull.field('posts',
type: 'PostCreateInput',
)
,
)
【讨论】:
以上是关于如何在 GraphQL Nexus 的数组中定义非空元素?的主要内容,如果未能解决你的问题,请参考以下文章
Nexus 和 GraphQL:“上下文”类型的根输入路径不存在