我正在学习GraphQL,并在通读教程时遇到了我无法理解的行为。 比方说,我们在架构中定义的类型:GraphQL:非空数组/列表
type Link {
id: ID!
url: String!
description: String!
postedBy: User
votes: [Vote!]!
}
由于文档votes: [Vote!]!
意味着该领域应该是一个非空的和阵列本身应该是非空了。但在教程的作者之后,显示了查询的示例,并且对于某些链接,它将返回votes
字段的空数组。就像这样:
{
"url": "youtube.com",
"votes": []
},
{
"url": "agar.io",
"votes": []
}
所以我的问题是:是否不是“不可为空”是指graphQL模式“空”或者它只是某种graphQL服务器的错误行为(我的意思是它返回的什么阵不警告应该有一些由于架构造成的)。
谢谢!
也许我因为教程中的段落而感到困惑: _“[Episode]!表示一个Episode对象的数组,因为它也是不可空的,所以当你有一个数组查询出现在字段中。“_ 由于某些原因,如果缺少感叹号意味着_”零个或多个项目“_因此感叹号的存在意味着至少应该有一个项目。感谢您的回答! – DefLee