graphql 验证
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了graphql 验证相关的知识,希望对你有一定的参考价值。
验证
通过使用类型系统,可以预先确定一种查询是否有效。这允许服务器和客户端在创建无效查询时有效地通知开发人员,而不必依赖于运行时检查。
对于我们的“星球大战”示例,文件starWarsValidation包含了许多演示各种invalidities的查询,并且是一个测试文件,可以运行它来练习引用实现的验证器。
首先,让我们使用一个复杂的有效查询。这是一个嵌套查询,类似于上一节中的示例,但是将重复的字段分解为一个片段:
{
hero {
...NameAndAppearances
friends {
...NameAndAppearances
friends {
...NameAndAppearances
}
}
}
}
fragment NameAndAppearances on Character {
name
appearsIn
}
结果
{ "data": { "hero": { "name": "R2-D2", "appearsIn": [ "NEWHOPE", "EMPIRE", "JEDI" ], "friends": [ { "name": "Luke Skywalker", "appearsIn": [ "NEWHOPE", "EMPIRE", "JEDI" ], "friends": [ { "name": "Han Solo", "appearsIn": [ "NEWHOPE", "EMPIRE", "JEDI" ] }, { "name": "Leia Organa", "appearsIn": [ "NEWHOPE", "EMPIRE", "JEDI" ] }, { "name": "C-3PO", "appearsIn": [ "NEWHOPE", "EMPIRE", "JEDI" ] }, { "name": "R2-D2", "appearsIn": [ "NEWHOPE", "EMPIRE", "JEDI" ] } ] }, { "name": "Han Solo", "appearsIn": [ "NEWHOPE", "EMPIRE", "JEDI" ], "friends": [ { "name": "Luke Skywalker", "appearsIn": [ "NEWHOPE", "EMPIRE", "JEDI" ] }, { "name": "Leia Organa", "appearsIn": [ "NEWHOPE", "EMPIRE", "JEDI" ] }, { "name": "R2-D2", "appearsIn": [ "NEWHOPE", "EMPIRE", "JEDI" ] } ] }, { "name": "Leia Organa", "appearsIn": [ "NEWHOPE", "EMPIRE", "JEDI" ], "friends": [ { "name": "Luke Skywalker", "appearsIn": [ "NEWHOPE", "EMPIRE", "JEDI" ] }, { "name": "Han Solo", "appearsIn": [ "NEWHOPE", "EMPIRE", "JEDI" ] }, { "name": "C-3PO", "appearsIn": [ "NEWHOPE", "EMPIRE", "JEDI" ] }, { "name": "R2-D2", "appearsIn": [ "NEWHOPE", "EMPIRE", "JEDI" ] } ] } ] } } }
以上是关于graphql 验证的主要内容,如果未能解决你的问题,请参考以下文章