gpt4 book ai didi

graphql - 为什么 GraphQl 强制您匹配查询中的变量要求?

转载 作者:行者123 更新时间:2023-12-04 10:21:17 25 4
gpt4 key购买 nike

假设我的 GraphQl 服务器有一个这样定义的查询

query getUser(name: String!)

然后我做一个这样的查询
query getUser(name: String) {
getUser(name: $name)
...

我收到这样的错误

Variable type 'String' doesn't match expected type 'String!



为什么他试图匹配它而不是检查值是否已经通过?我认为这是不必要的,并且出于愚蠢的原因迫使客户端应用程序更改。也许我在这里遗漏了一些东西。

最佳答案

!表示类型不可为空。不可为 null 的参数不能省略或传递 null 值。如果参数传递了一个变量,则该变量的类型也必须是不可为空的。如果变量类型可以为空,则意味着 null将是变量的有效值,但 null不是 参数的有效值。

另一方面,类型为可为空的参数可以接受可为空或不可为空的变量,因为在可能值的范围内不存在不兼容。

这是spec 的验证部分中的所有大纲。 .

关于graphql - 为什么 GraphQl 强制您匹配查询中的变量要求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60836503/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com