大佬教程收集整理的这篇文章主要介绍了javascript – GraphQL:不可为空的数组/列表,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
type Link { id: ID! url: String! description: String! postedBy: User votes: [Vote!]! }
由于文件投票:[投票!]!意味着该字段应该是不可为空的,并且数组本身也应该是不可为空的.但是,在教程的作者显示查询示例之后,对于某些链接,它返回了投票字段的空数组.像这样:
{ "url": "youtube.com","votes": [] },{ "url": "agar.io","votes": [] }
所以我的问题是:不是“非可空”在graphQL模式中意味着“空”或者它只是graphQL服务器的某种错误行为(我的意思是它返回任何数组而没有警告应该有一些由于模式) .
谢谢!
这是一个摘要表:
declaration accepts: | null | [] | [null] | [{foo: 'BAR'}] ------------------------------------------------------------------------ [Vote!]! | no | yes | no | yes [Vote]! | no | yes | yes | yes [Vote!] | yes | yes | no | yes [Vote] | yes | yes | yes | yes
[投票!]!表示该字段(在这种情况下为vote)不能返回null,并且它必须解析为数组,并且该数组中的所有单个项都不能为null.所以[]和[{}]以及[{foo:’BAR’}]都是有效的(假设foo为非null).但是,以下内容将抛出:[{foo:’BAR’},null]
[投票]!表示该字段不能返回null,但返回列表中的任何单个项都可以为null.
[Vote!]表示整个字段可以为null,但如果它确实返回一个值,则它需要一个数组,并且该数组中的每个项不能为null.
[Vote]表示整个字段可以为null,则需要一个数组.但是,数组的任何成员也可以为null.
如果需要验证数组是否为空,则必须在解析器逻辑中执行此操作.如果你希望GraphQL在数组为空时仍然抛出,只需让你的解析器返回一个被拒绝的Promise.
有关更多信息,您可以阅读GraphQL简介的list and non-null章.
以上是大佬教程为你收集整理的javascript – GraphQL:不可为空的数组/列表全部内容,希望文章能够帮你解决javascript – GraphQL:不可为空的数组/列表所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。